我想编写一个应用程序来验证PDF文件。所需的验证是验证PDF中的所有文本和图像应该从左边0.5英寸边距和右边0.5英寸边距开始。如果任何文本超出此边距,则应用程序应该能够捕获此信息。
我试图将其搜索到iText,但无法获得任何可以解决我的目的的有用信息。
有人可以帮助我在.net csharp中编写这段代码。
谢谢, 普利文
答案 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英寸的边距。最简单的方法是缩小页面。