【发布时间】:2012-10-25 12:58:15
【问题描述】:
我目前正在编写一个小工具(Python + pyPdf)来测试 PDF 的打印机一致性。
唉,我已经对第一个任务感到困惑:检测 PDF 是否有至少 3 毫米的“出血”(没有打印的页面周围的边框)。我已经知道我无法检测到完整文档的出血,因为似乎没有全局文件。然而,在页面上,我总共可以检测到五个不同的框:
mediaBoxbleedBoxtrimBoxcropBoxartBox
我阅读了有关这些框的pyPdf documentation,但我唯一理解的是mediaBox,它似乎代表了整个页面大小(即纸张)。
bleedBox 很明显应该定义出血,但似乎并非总是如此。
我注意到的另一件事是,例如PDF,所有这些框在每一页上都有完全相同的大小(意味着根本没有出血),但是当我打开它时,会有大量的出血;这让我认为各个文本元素都有自己的偏移量。
因此,显然,仅从 mediaBox 和 bleedBox 计算出血不是一个可行的选择。
如果有人能阐明这些盒子到底是什么以及我能从中得出什么结论(例如,一个盒子总是比另一个小),我会非常高兴。
额外问题:谁能告诉我documentation 中提到的“默认用户空间单元”到底是什么?我很确定这指的是我机器上的mm,但我想在任何地方强制执行mm。
【问题讨论】:
-
这个article 可能会进一步阐明 PDF 页面框的含义。
标签: python pdf typography pypdf