gpt4 book ai didi

python - Reportlab PDF版本生成问题

转载 作者:太空宇宙 更新时间:2023-11-04 06:29:58 25 4
gpt4 key购买 nike

我正在使用带有鸭嘴兽的 reportlab PDF 包来生成一些 PDF 文件。在 linux 服务器和 windows box 上,我有相同的 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 $

最佳答案

您是否试图在每个系统上使用准确的代码生成它们?我在 reportlab 源代码中进行了快速搜索,发现一些评论指出,如果您使用 setFillAlphasetStrokeAlpha 方法,那么它将导致生成 PDF 1.4 而不是1.3.

编辑:

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

PDF_VERSION_DEFAULT = (1, 3)

PDF_VERSION_DEFAULT = (1, 4)

这将强制它始终生成 PDF 1.4 文档。

希望这对您有所帮助。

关于python - Reportlab PDF版本生成问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4091043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com