Itextsharp:未调用OnEndPage事件

时间:2017-12-20 11:01:13

标签: c# pdf itext

我试图在PDFPageEventHelper的帮助下在现有PDF文件中添加标题。我在某些文件中收到错误document has no pages。该代码适用于其他文件。在调试时我发现对于某些文件OnEndPage方法没有被调用,这可能导致抛出异常'文档没有页面'

知道为什么不调用此方法或事件(OnEndPage)?

1 个答案:

答案 0 :(得分:0)

也许您的PDF文件不包含任何页面信息。 PDF将内容呈现为边界框。您所要做的就是定义一个框并将内容渲染到其中。因此,您不需要任何页面信息。

在那里 - 在现实世界中 - 存在许多疯狂的页面。有些人声明一个方框,以便(0,0)位于方框的中间。完美的绘图功能,但有些库失败,因为他们只考虑以左/上角开头的页面为(0,0)。这样的盒子可以在文档中多次转换。

许多PDF文档包含许多破坏PDF规则的部分。市场上有一些工具可以根据PDF参考资料验证您的文件。一些尝试修复它们。一个廉价的解决方法可能是将PDF读入libre office并再次以PDF格式保存。这只会修复一小部分错误,但你的错误可能就在其中。

您必须在文本编辑器中阅读失败的文档才能找到原因。但这是a *

的痛苦