【问题标题】:How to get current page margins using iText API如何使用 iText API 获取当前页边距
【发布时间】:2023-03-22 12:57:01
【问题描述】:

我有合并两个 pdf 文档并在生成的 pdf 文档中设置指定边距的要求。有没有办法从 PdfReader 或 PdfImportedPage 中获取当前页边距?我想通过这些测量值来决定是转换还是缩放输入页面。

【问题讨论】:

    标签: pdf merge itext


    【解决方案1】:

    就 PDF 格式而言,确实没有这样的东西。您有一堆可能在给定页面上定义或未定义的边界框。唯一需要的盒子是媒体框:

    媒体框:“页面大小”。打印此 PDF 页面的媒体尺寸。

    裁剪框:完成页面的大小。媒体和裁剪之间的任何差异都将在后处理步骤中被切断。默认为媒体框。

    艺术框:包含“页面的有意义的内容”。默认为裁剪框。

    Trim Box 和 Bleed Box:类似于裁剪框,但除非您碰巧是关注“额定速度”之类的专业印刷厂,否则会有很大不同。

    除非您对 Art Box 很幸运(我会感到震惊),否则您唯一真正的选择是解析每个页面的内容(使用 com.itextpdf.text.pdf.parser.* 中的类)并自己推导出边距。这很可能容易出错。

    OTOH,如果最初制作 PDF 的应用程序可能已在 PDF 中嵌入了其布局信息,在这种情况下,您需要逐个应用程序(甚至逐个版本)了解它们是如何做到的版本)基础。

    【讨论】:

      【解决方案2】:

      也许这个例子有帮助:http://itextpdf.com/examples/iia.php?id=280
      不过,它是用 Java 编写的;不确定你所处的环境。

      【讨论】:

      • 谢谢,我尝试了这个示例,由于某种原因,我看到一个 NPE,其中包含一个包含表格和图像的 PDF 文档。我想知道这个 TextMarginFinder 是否可以用于各种 PDF 文档。我还发现这个 TextMarginFinder 是 iText API 的新增功能。
      猜你喜欢
      • 1970-01-01
      • 2018-03-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-04
      • 2022-09-23
      • 2019-06-24
      • 2019-06-23
      • 1970-01-01
      相关资源
      最近更新 更多