Itextsharp:未调用OnEndPage事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Itextsharp:未调用OnEndPage事件相关的知识,希望对你有一定的参考价值。

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

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

答案

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

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

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

您必须在文本编辑器中读取失败的文档才能找到原因。但这是一个痛苦的*

以上是关于Itextsharp:未调用OnEndPage事件的主要内容,如果未能解决你的问题,请参考以下文章

iTextSharp 异常:未找到 PDF 标头签名

无法使用JavaScript从iTextSharp访问PDF文档页面/事件

样式未使用ITextSharp在PDF中实现[复制]

iTextSharp 创建页脚页 # of #

itextsharp去掉PDF加密

iTextSharp 从字节数组列表创建 pdf