Reportlab PDF版本生成问题

2024-05-20 20:20:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用reportlab PDF包和鸭嘴兽来生成一些PDF文件。在linux服务器和WindowsBox上,我有相同的python应用程序,相同版本的reportlab包(尽管python版本2.6.5与2.6.6略有不同)。我使用我自己的字体,我不依赖系统字体。最近,我注意到,在这两个平台上生成的PDF有点不同,有些段落在一个版本中与另一个版本相比垂直上升了几点。在

我试图找出这些平台之间的区别,但我没能找到区别。在

最后,当我比较PDF文件时,一个文件是PDF 1.3,第二个是PDF 1.4版本,所以我认为问题一定是这个。我不知道如何在reportlab中设置PDF版本,请任何人指出如何设置生成的PDF文件的正确版本,或者是否可以设置reportlab输出的其他属性?在

更新:

使用reportlab 2.4版:

reportlab.__version__: $Id: __init__.py 3649 2010-01-20 14:45:53Z damian $


Tags: 文件版本服务器应用程序属性pdflinux系统
1条回答
网友
1楼 · 发布于 2024-05-20 20:20:58

您是否尝试用每个系统上的确切代码生成它们?我在reportlab源代码中进行了快速搜索,发现了一些注释,指出如果使用setFillAlpha或{}方法,那么将生成PDF 1.4而不是1.3。在

编辑:

进一步看,我相当确定这些方法是reportlab生成PDF 1.4文件的唯一原因。否则,它似乎总是默认为1.3。据我所知,没有界面可以让你切换版本。但是,您可以很容易地修改源代码。只需搜索pdfdoc.py并将这一行(在reportlab2.5中大约是第85行)从

PDF_VERSION_DEFAULT = (1, 3)

^{pr2}$

这将迫使它始终生成PDF 1.4文档。在

希望这有帮助。在

相关问题 更多 >