PDF文字位置,页面左边距

时间:2009-07-14 11:38:08

标签: itextsharp

我想编写一个应用程序来验证PDF文件。所需的验证是验证PDF中的所有文本和图像应该从左边0.5英寸边距和右边0.5英寸边距开始。如果任何文本超出此边距,则应用程序应该能够捕获此信息。

我试图将其搜索到iText,但无法获得任何可以解决我的目的的有用信息。

有人可以帮助我在.net csharp中编写这段代码。

谢谢, 普利文

3 个答案:

答案 0 :(得分:1)

除了R Ubben的回答:reader.getPageSize(pageNumber)reader.getBoxSize(pageNumber,"media")完全相同。

这就是它在iTextSharp中的实现方式。您可以在source code中看到它。

提取物:

public Rectangle GetPageSize(PdfDictionary page) {
    PdfArray mediaBox = page.GetAsArray(PdfName.MEDIABOX);
    return GetNormalizedRectangle(mediaBox);
}

答案 1 :(得分:0)

使用SetMarginMirroring(true)

答案 2 :(得分:0)

PDF标准实际上没有边距的概念,因为PDF应该与设备无关。它可以拥有五个设计用于约束输出的盒子:媒体盒,裁剪盒,出血盒,艺术盒和装饰盒。通常其他四个盒子的尺寸相同或小于媒体盒。

如果你的pdf中有一个mediabox,你可以检索它并检查它是否比页面小0.5英寸。尝试比较reader.getPageSize(pageNumber)和reader.getBoxSize(pageNumber)的结果,“媒体”)。他们很可能会是一样的。

你可以做的是重写pdf以确保有1/2英寸的边距。最简单的方法是缩小页面。