gpt4 book ai didi

python - 将 SVG 转换为 PDF(svglib + reportlab 不够好)

转载 作者:太空狗 更新时间:2023-10-29 20:20:35 27 4
gpt4 key购买 nike

我正在批量创建一些 SVG,需要将它们转换为 PDF 文档以便打印。我一直在尝试使用 svglib 及其 svg2rlg 方法,但我刚刚发现在我的文档中保留矢量图形绝对令人震惊。它几乎不能正确定位文本。

我动态生成的 SVG 格式正确,我已经在原始输入上测试了 svglib 以确保这不是我引入的问题。

那么,除了 svglib 和 ReportLab,我还有哪些选择?它必须是免费的或非常便宜,因为我们已经超出了该项目的预算。我们付不起 ReportLab Plus 每年 1000 美元的费用。

我正在使用 Python,但在这个阶段,只要它能在我们的 Ubuntu 服务器上运行,我就很高兴。

编辑:测试王子。好多了,但它仍然忽略了一半的文档。

最佳答案

我使用 inkscape为了这。在你的 Django View 中做这样的事情:

from subprocess import Popen

x = Popen(['/usr/bin/inkscape', your_svg_input, \
'--export-pdf=%s' % your_pdf_output])
try:
waitForResponse(x)
except OSError, e:
return False

def waitForResponse(x):
out, err = x.communicate()
if x.returncode < 0:
r = "Popen returncode: " + str(x.returncode)
raise OSError(r)

您可能需要将您在 .svg 中引用的所有字体文件作为参数传递给 inkscape,因此如果您的文本在 .pdf 输出中显示不正确,请记住这一点。

关于python - 将 SVG 转换为 PDF(svglib + reportlab 不够好),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8853553/

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