如何修复“此页面上存在错误”PDF错误来自对虾生成的文档?

时间:2011-03-28 18:10:46

标签: ruby-on-rails ruby pdf pdf-generation prawn

我正在使用Prawn PDF库在我的Rails应用程序中生成PDF。一切都很好,但是当在Acrobat或Acrobat Reader中打开生成的PDF时,会显示以下信息:

  

此页面上存在错误。杂技演员   可能无法正确显示页面。   请联系创建者   PDF文档更正   问题

Adob​​e将其列为Acrobat 8​​.1.3发行说明中修复的内容。

  

1810668打印时内存泄漏   带图像的大文件:   >将大文档导出到。时   PostScript,或发送到打印机   打印“存在错误   页。 Acrobat可能无法显示该页面   正确。请联系此人   谁创建了PDF文档   纠正问题“可以发生。这   某些问题遇到了   有大量的文件   单色图像,但一直   在8.1.3.Root中修正:修复问题   见于8.1.2。

但我在所有当前版本的Acrobat Professional和Acrobat reader中都看到了这个问题。我的PDF确实在每个页面上使用背景图像,有很多页面(通常是75+),并且有很多透明图像,但不应该导致错误。此外,Mac的预览显示没有问题,如果您在Acrobat错误上按“确定”,一切都很好。

我在Acrobat Professional中运行Preflight工具来检查PDF语法错误,发现没有错误,但发出一些警告“q和Q运算符不平衡”。

这适用于面向客户的应用程序,因此我无法更改设置以抑制PDF阅读器中的错误。

关于如何让错误消失的任何想法?

2 个答案:

答案 0 :(得分:1)

正如Mark所说,“q”和“Q”运算符必须在pdf文件中平衡。

Prawn PDF库似乎有一个bug。我在一个公开问题的评论中发现了这一点:

  几周前,我做了一个解决方法   修补虾库本身。该   这个错误的根源是“不平衡的   q / Q“,仅出现在Adobe中   Acrobat Pro预检。我打了补丁   在大虾中添加一个额外的\ q   PDF-发电机。

https://github.com/sandal/prawn-layout/issues#issue/25

答案 1 :(得分:0)

这是一个大虾的错误,应该在0.11.1版本中修复。