【发布时间】:2023-03-22 12:57:01
【问题描述】:
我有合并两个 pdf 文档并在生成的 pdf 文档中设置指定边距的要求。有没有办法从 PdfReader 或 PdfImportedPage 中获取当前页边距?我想通过这些测量值来决定是转换还是缩放输入页面。
【问题讨论】:
我有合并两个 pdf 文档并在生成的 pdf 文档中设置指定边距的要求。有没有办法从 PdfReader 或 PdfImportedPage 中获取当前页边距?我想通过这些测量值来决定是转换还是缩放输入页面。
【问题讨论】:
就 PDF 格式而言,确实没有这样的东西。您有一堆可能在给定页面上定义或未定义的边界框。唯一需要的盒子是媒体框:
媒体框:“页面大小”。打印此 PDF 页面的媒体尺寸。
裁剪框:完成页面的大小。媒体和裁剪之间的任何差异都将在后处理步骤中被切断。默认为媒体框。
艺术框:包含“页面的有意义的内容”。默认为裁剪框。
Trim Box 和 Bleed Box:类似于裁剪框,但除非您碰巧是关注“额定速度”之类的专业印刷厂,否则会有很大不同。
除非您对 Art Box 很幸运(我会感到震惊),否则您唯一真正的选择是解析每个页面的内容(使用 com.itextpdf.text.pdf.parser.* 中的类)并自己推导出边距。这很可能容易出错。
OTOH,如果最初制作 PDF 的应用程序可能已在 PDF 中嵌入了其布局信息,在这种情况下,您需要逐个应用程序(甚至逐个版本)了解它们是如何做到的版本)基础。
【讨论】:
也许这个例子有帮助:http://itextpdf.com/examples/iia.php?id=280
不过,它是用 Java 编写的;不确定你所处的环境。
【讨论】: