phr*_*ryk 3 python pdf typography pypdf
我目前正在编写一个小工具(Python + pyPdf)来测试PDF以确保打印机符合性.
唉,我已经对第一项任务感到困惑:检测PDF是否至少有3毫米'流血'(页面周围没有打印任何内容).我已经知道我无法检测完整文档的出血,因为似乎没有全局文档.然而,在页面上我总共可以检测到五个不同的盒子:
mediaBoxbleedBoxtrimBoxcropBoxartBox我阅读了关于那些盒子的pyPdf文档,但我理解的唯一一个mediaBox似乎代表整个页面大小(即文件).
在bleedBox很显然应该定义出血,但是,这并不似乎总是如此.
我注意到的另一件事是,例如使用PDF,所有这些盒子在每页上都有完全相同的大小(完全没有出血),但是当我打开它时会出现大量的流血; 这让我认为单个文本元素有自己的偏移量.
所以,显然,只是计算出血mediaBox并且bleedBox不是一个可行的选择.
如果有人能够了解这些盒子实际上是什么以及我可以从中得出什么结果(例如,一个盒子总是小于另一个盒子),我将非常高兴.
奖金问题:有人能告诉我文档中提到的"默认用户空间单位"究竟是什么?我很确定这指的是我的机器,但我想在任何地方执行.mmmm
mkl*_*mkl 20
引自Adobe发布的PDF规范ISO 32000-1:2008:
14.11.2页面边界
14.11.2.1概述
可以为成品介质(例如纸张)或者作为印刷过程的一部分准备PDF页面,其中页面的内容被放置在中间介质上,例如胶片或强加的复制板.在后一种情况下,区分中间页面和完成页面很重要.中间页面通常可能包括额外的与生产相关的内容,例如出血或打印机标记,这些内容落在完成页面的边界之外.要处理此类情况,PDF页面可能会定义多达五个单独的边界来控制成像过程的各个方面:
媒体框定义了要在其上打印页面的物理介质的边界.它可以包括完成页面周围的任何扩展区域,用于出血,打印标记或其他此类目的.它也可以包括接近不能由于输出设备的物理限制被标记的介质的边缘的区域.超出此边界的内容可以安全地丢弃,而不会影响PDF文件的含义.
裁剪框定义显示或打印时,其页面的内容应当被限幅的区域(裁剪).不像其他的框,裁剪框在物理页面几何学或用途方面没有定义的含义; 它只是对页面内容施加裁剪.然而,在不存在的附加信息(诸如在JDF或PJTF作业传票指定拼版指示),裁剪框确定页的内容应当如何被定位在输出介质上.默认值是页面的媒体框.
出血框(PDF 1.3)定义了在生产环境中输出时要剪切页面内容的区域.这可能包括为适应切割,折叠和修剪设备的物理限制所需的任何额外的出血区域.实际打印页面可包括落在出血盒外的打印标记.默认值是页面的裁剪框.
修剪框(PDF 1.3)定义修剪后完成页面的预期尺寸.它可能比媒体盒小,以允许与生产相关的内容,例如打印指令,剪切标记或彩条.默认值是页面的裁剪框.
艺术框(PDF 1.3)定义了页面创建者所预期的页面有意义内容(包括潜在空白区域)的范围.默认值是页面的裁剪框.
页面对象字典分别在MediaBox,CropBox,BleedBox,TrimBox和ArtBox条目中指定这些边界(参见表30).它们都是以默认用户空间单位表示的矩形.作物,出血,装饰和艺术盒通常不应超出媒体盒的边界.如果他们这样做,他们有效地减少到他们与媒体盒的交集.图86说明了这些边界之间的关系.(裁剪框未在图中显示,因为它与任何其他边界没有明确的关系.)
接下来有一个漂亮的图形显示了彼此相关的框:

在很多情况下只设置媒体盒的原因是
如果PDF用于电子消费(即在电脑上阅读),其他盒子几乎不重要; 和
即使在印前环境中,它们也不再像过去那样必要了,参见 佩德罗在评论中提到的这篇文章.
关于你的"奖金问题":用户空间单位默认为1/72英寸; 但是,从PDF 1.6开始,可以使用页面字典中的UserUnit条目将其更改为该大小的任何(不必要的整数)倍数.在现有PDF中更改它实际上是将其缩放,因为用户空间单位是页面的设备无关坐标系中的基本单位.因此,除非您要更新页面描述中的每个命令,并参考坐标以保持页面尺寸,否则您不希望强制执行毫米级用户空间单元...;)
| 归档时间: |
|
| 查看次数: |
1911 次 |
| 最近记录: |