我正在使用reportlab PDF软件包与鸭嘴兽生成一些PDF文件。在linux服务器和windows上,我拥有相同版本的python应用程序,相同版本的reportlab包(尽管python版本略有不同-- 2.6.5 vs 2.6.6)。我使用我自己的字体,我不依赖于系统字体。最近,我注意到在这两个平台上生成的PDF有点不同--与另一个版本相比,在一个版本中有些段落是垂直向上的几个点。
我试图找出这些编曲的区别是什么,但我没有找到区别。
最后,当我比较PDF文件时,一个文件是PDF1.3,第二个是PDF1.4版本,所以我认为这个问题肯定是这样的。我不知道如何在reportlab中设置PDF版本,请任何人告诉我如何设置生成的PDF文件的适当版本,或者设置reportlab输出的一些附加属性?
更新:
使用reportlab 2.4版本:
reportlab.__version__: $Id: __init__.py 3649 2010-01-20 14:45:53Z damian $
发布于 2010-11-03 23:43:23
您是否试图用每个系统上的确切代码生成它们?我在reportlab源代码中进行了快速搜索,发现一些注释指出,如果您使用setFillAlpha或setStrokeAlpha方法,那么它将导致生成一个PDF1.4,而不是1.3。
编辑:
进一步看,我相当肯定这些方法是reportlab生成PDF1.4文件的唯一原因。否则,它似乎总是默认为1.3。据我所见,没有允许您切换版本的接口。但是,您可以很容易地修改源代码。只需搜索pdfdoc.py并更改这一行(它位于ReportLab2.5中的第85行)
PDF_VERSION_DEFAULT = (1, 3)至
PDF_VERSION_DEFAULT = (1, 4)这将迫使它始终生成PDF1.4文档。
希望这能有所帮助。
https://stackoverflow.com/questions/4091043
复制相似问题