PDF页面的原点(x,y)在哪里?

iText用来创建我的 文件。

我想使用在这里找到的方法将文本放置在文档中的某个特定位置:itext绝对放置文本。

但是,我不知道在哪里可以找到页面坐标系的原点。

bottom left cornertop right cornerbottom right cornertop left

corner

回答:

页面的尺寸(又称页面边界)在页面字典中定义:

  • /MediaBox:物理介质(页面)的边界。该值是必需的,因此您可以在每个PDF中找到它。
  • /CropBox:显示或打印时可见的区域。的/CropBox是等于或小于较小/MediaBox。该值是可选的;如果丢失,/CropBox则等于/MediaBox
  • 其他可能的值/BleedBox/TrimBox/ArtBox。这些已针对特定目的进行了定义,但现在已不再使用。如果缺少它们,则默认为/CropBox。这些值都不能超出的大小/CropBox

使用iText创建文档时,/MediaBox可以显式或隐式定义。

明确地:

Rectangle rect = new Rectangle(20, 20, 300, 600);

Document document = new Document(rect);

隐式地:

Document document = new Document();

此单行等效于:

Rectangle rect = new Rectangle(0, 0, 595, 842);

Document document = new Document(rect);

传递到四个参数Rectangle构造(llxllyurxury)限定使用的x和左下的y坐标和右上角的矩形。

如果为new Rectangle(0, 0, 595, 842),则页面的左下角与坐标系的原点重合(0, 0)。页面的右上角与坐标重合(595,

842)

所有度量均以用户单位定义,默认情况下,用户单位与印刷点 大致 对应:1个用户单位= 1个点。

大概

注意一下这个词:我们使用点来进行计算,但是在ISO标准中,我们非常谨慎,不要将点用作用户单位的同义词。例如:一个A4页面可测量595个乘以842个用户单位,但是如果您以点为单位计算确切的值,则会有细微的差别(点之后有一些数字)。

页面的左下角并不总是坐标系的原点。如果我们使用定义页面Rectangle(20, 20, 300,

600),则原点是下方20个用户单位,左下角左侧20个用户单位。也可以使用负值来定义页面大小。

例如:假设您要创建一个由4个A4页面组成的A2文档,则可以像这样定义页面大小:

Rectangle(-595, 0, 0, 842)   Rectangle(0, 0, 595, 842)

Rectangle(-595, -842, 0, 0) Rectangle(0, -842, 595, 0);

通过这样定义媒体盒,您还可以传递有关不同页面相对位置的信息。如果将4个A4页面作为一个单位查看,则坐标系的原点就是A2页面的确切中心。

以上所有假设均假设您未引入任何坐标转换,例如使用concatCTM()transform()方法。这些方法允许您更改坐标系,例如将x和y轴之间的角度从90度(默认)更改为另一个角度。您还可以缩放轴以获得不同的宽高比。虽然这样做很有趣,但它需要一定的数学运算能力。

以上是 PDF页面的原点(x,y)在哪里? 的全部内容, 来源链接: utcz.com/qa/434675.html

回到顶部