我试图在PDFPageEventHelper
的帮助下在现有PDF文件中添加标题。我在某些文件中收到错误document has no pages
。该代码适用于其他文件。在调试时我发现对于某些文件OnEndPage
方法没有被调用,这可能导致抛出异常'文档没有页面'
知道为什么不调用此方法或事件(OnEndPage)?
答案 0 :(得分:0)
也许您的PDF文件不包含任何页面信息。 PDF将内容呈现为边界框。您所要做的就是定义一个框并将内容渲染到其中。因此,您不需要任何页面信息。
在那里 - 在现实世界中 - 存在许多疯狂的页面。有些人声明一个方框,以便(0,0)位于方框的中间。完美的绘图功能,但有些库失败,因为他们只考虑以左/上角开头的页面为(0,0)。这样的盒子可以在文档中多次转换。
许多PDF文档包含许多破坏PDF规则的部分。市场上有一些工具可以根据PDF参考资料验证您的文件。一些尝试修复它们。一个廉价的解决方法可能是将PDF读入libre office并再次以PDF格式保存。这只会修复一小部分错误,但你的错误可能就在其中。
您必须在文本编辑器中阅读失败的文档才能找到原因。但这是a *
的痛苦