2010-11-17 246 views
1

我有这种要求合并两个pdf文档并在生成的pdf文档中设置指定的边距。有没有办法获得当前页面页边距形式PdfReader或PdfImportedPage?我希望通过这些测量来决定是否转换或缩放输入页面。如何使用iText API获取当前页边距

回答

4

就PDF格式而言,确实没有这样的事情。你有一堆边界框,可能会或可能不会在给定的页面上定义。唯一需要的框是媒体框:

媒体框:'页面大小'。此PDF页面应该打印的媒体大小。

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

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

装饰盒&出血盒:类似于裁剪盒,但是除非你碰巧是一个专业的印刷公司,像“额定速度”这样的东西,否则就会出现差异。

除非你运用艺术盒(我会感到震惊),否则唯一真正的选择是解析每个页面的内容(使用com.itextpdf.text.pdf.parser中的类。* )并自己减少利润。这很可能是容易出错的。

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

0

也许这个例子有助于:http://itextpdf.com/examples/iia.php?id=280
虽然在Java中,不知道你在什么背景。

+0

谢谢,我试过这个例子,出于某种原因,我看到一个带有表格和图像的PDF文档的NPE。我想知道这个TextMarginFinder是否可以用于各种PDF文档。我还发现这个TextMarginFinder是iText API的新增功能。 – 2010-11-19 11:26:39