PDFBox将英寸或厘米转换为坐标系

罗比F

我是PDFBox(和PDF生成)的新手,并且很难生成自己的PDF。

我的文本确实具有以英寸/厘米为单位的特定坐标,因此我需要将其转换为PDFBox使用的单位。有什么建议/实用工具可以自动执行此操作吗?

PDPageContentStream.moveTextPositionByAmount(x,y) 对我来说毫无意义。

mkl

通常,PDFBox在创建PDF时会使用PDF用户空间坐标。这意味着:

  1. 页面的坐标由默认为MediaBox的CropBox界定,其值从左到右和从下到上递增。因此,如果您创建使用页面在页面的左下角坐标系统启动的原点。new PDPage()new PDPage(PDPage.PAGE_SIZE_*)

  2. 用户空间中的单位以默认用户空间单位开始,该用户空间单位页面UserUnit定义大多数情况下(例如,如果您使用任何PDPage构造函数创建页面并且未显式更改该值)都没有显式设置,因此其默认踢角为1⁄72英寸。

  3. 通过将某个矩阵连接到当前的变换矩阵,可以任意更改用户空间坐标系。当前的变换矩阵从恒等矩阵开始。

    在PDFBox中,您可以使用PDPageContentStream.concatenate2CTM()重载之一来执行此操作

  4. 使用切换到文本模式后,所使用PDPageContentStream.beginText()的坐标系还会受到文本矩阵引入的转换的影响。

    在PDFBox中,使用PDPageContentStream.setTextMatrix()重载之一设置文本矩阵

由于您是刚接触PDFBox的人(正如您所说),而刚接触PDF的人(我想是因为您可能会认识到这些坐标,所以我建议您一开始时尽量不要使用转换,因此请保留在坐标系统从左下角开始的状态,既不旋转也不歪斜,其单位长度为1/72英寸。

对于这种情况,您实际上可以使用PDFBox提供的常量进行转换:

  • 以英寸为单位乘以坐标PDPage.DEFAULT_USER_SPACE_UNIT_DPI以获取默认的用户空间坐标。
  • 以毫米为单位乘以坐标PDPage.MM_TO_UNITS以获取默认的用户空间坐标。

但是,如果您想使用坐标,请查看PDF规范ISO-32000-1并研究8.3坐标系和9.4.4文本空间详细信息部分


PDPage上面指出常量曾经在早期的PDFBox 1.8.x版本中可以访问,但是后来被隐藏(private),最终在向PDFBox 2.x过渡时被删除。

供参考,常量定义为

private static final int DEFAULT_USER_SPACE_UNIT_DPI = 72;

private static final float MM_TO_UNITS = 1/(10*2.54f)*DEFAULT_USER_SPACE_UNIT_DPI;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将四元数从右手坐标系转换为左手坐标系

来自分类Dev

将经度和纬度转换为ECEF坐标系

来自分类Dev

如何将节点的边界框转换为其他坐标系?

来自分类Dev

是否可以将3D阵列转换为坐标系?

来自分类Dev

使用Python将图像从一个坐标系转换为另一个坐标系

来自分类Dev

使用PHP将厘米(cm)转换为英尺和英寸

来自分类Dev

将厘米转换为英尺和英寸,反之亦然?

来自分类Dev

将高度从厘米转换为英尺英寸时出错

来自分类Dev

使用Javascript将高度(厘米)转换为英尺英寸

来自分类Dev

将以地球为中心的坐标系转换为与切线平面对齐的坐标系?

来自分类Dev

当UIView处于层次结构中时,将两个UIView转换为相同的坐标系

来自分类Dev

当将Android磁场传感器值转换为地球坐标系时,为什么X坐标值如此接近零?

来自分类Dev

当将Android磁场传感器值转换为地球坐标系时,为什么X坐标值如此接近零?

来自分类Dev

从坐标系WGS84转换为SWEREF991330

来自分类Dev

iOS-将点从一个坐标系转换到另一个坐标系

来自分类Dev

怪异的坐标系

来自分类Dev

对齐坐标系

来自分类Dev

在坐标系WGS 74和WGS 84之间转换

来自分类Dev

在UIKit和SpriteKit坐标系之间转换

来自分类Dev

在坐标系WGS 74和WGS 84之间转换

来自分类Dev

如何在静态和动态坐标系之间转换

来自分类Dev

如何计算从相机到运动捕捉坐标系的转换?

来自分类Dev

陀螺仪:如何在智能手机上将数据转换为世界坐标系?

来自分类Dev

将厘米转换为像素,转换公式?

来自分类Dev

Kinect坐标系中心

来自分类Dev

SpriteKit中的坐标系

来自分类Dev

更改PDF坐标系

来自分类Dev

将形状大小转换为厘米

来自分类Dev

比例转换和坐标系转换有什么区别

Related 相关文章

  1. 1

    将四元数从右手坐标系转换为左手坐标系

  2. 2

    将经度和纬度转换为ECEF坐标系

  3. 3

    如何将节点的边界框转换为其他坐标系?

  4. 4

    是否可以将3D阵列转换为坐标系?

  5. 5

    使用Python将图像从一个坐标系转换为另一个坐标系

  6. 6

    使用PHP将厘米(cm)转换为英尺和英寸

  7. 7

    将厘米转换为英尺和英寸,反之亦然?

  8. 8

    将高度从厘米转换为英尺英寸时出错

  9. 9

    使用Javascript将高度(厘米)转换为英尺英寸

  10. 10

    将以地球为中心的坐标系转换为与切线平面对齐的坐标系?

  11. 11

    当UIView处于层次结构中时,将两个UIView转换为相同的坐标系

  12. 12

    当将Android磁场传感器值转换为地球坐标系时,为什么X坐标值如此接近零?

  13. 13

    当将Android磁场传感器值转换为地球坐标系时,为什么X坐标值如此接近零?

  14. 14

    从坐标系WGS84转换为SWEREF991330

  15. 15

    iOS-将点从一个坐标系转换到另一个坐标系

  16. 16

    怪异的坐标系

  17. 17

    对齐坐标系

  18. 18

    在坐标系WGS 74和WGS 84之间转换

  19. 19

    在UIKit和SpriteKit坐标系之间转换

  20. 20

    在坐标系WGS 74和WGS 84之间转换

  21. 21

    如何在静态和动态坐标系之间转换

  22. 22

    如何计算从相机到运动捕捉坐标系的转换?

  23. 23

    陀螺仪:如何在智能手机上将数据转换为世界坐标系?

  24. 24

    将厘米转换为像素,转换公式?

  25. 25

    Kinect坐标系中心

  26. 26

    SpriteKit中的坐标系

  27. 27

    更改PDF坐标系

  28. 28

    将形状大小转换为厘米

  29. 29

    比例转换和坐标系转换有什么区别

热门标签

归档