吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 500|回复: 11
收起左侧

[求助] Python怎么把svg转换成pdf,并且还保留矢量图属性

[复制链接]
858983646 发表于 2024-10-19 14:12
用了magemagick,结果输出的是像素的pdf,放大就不行了
求教有没有简单点的,依赖少一点的方法转换啊

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

LW404 发表于 2024-10-19 14:24
用 inkscape  https://inkscape.org/release/inkscape-1.4/
 楼主| 858983646 发表于 2024-10-19 15:33
LW404 发表于 2024-10-19 14:24
用 inkscape  https://inkscape.org/release/inkscape-1.4/

100多兆安装包,体积略大
小阿林 发表于 2024-10-19 15:49
 楼主| 858983646 发表于 2024-10-19 15:51
小阿林 发表于 2024-10-19 15:49
转成PDF就已经没法保留矢量图的属性了

试了下inkscape就可以的,只是软件太大了
lyzxx 发表于 2024-10-19 18:04
[Python] 纯文本查看 复制代码
from svglib.svglib import svg2rlg
from reportlab.graphics import renderPDF

def svg_to_pdf(svg_file_path, pdf_file_path):
    drawing = svg2rlg(svg_file_path)
    renderPDF.drawToFile(drawing, pdf_file_path)

# 使用示例
svg_path = "your_svg_file.svg"
pdf_path = "output.pdf"
svg_to_pdf(svg_path, pdf_path)



这种方法只依赖于reportlab和svglib两个库,相对来说比较简单且能较好地保留矢量图属性。在转换过程中,svglib将 SVG 图像转换为reportlab可处理的图形对象,然后reportlab将其渲染为 PDF 文件,确保了矢量图属性得以保留,即使放大也不会出现像素化的问题。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
helian147 + 1 + 1 热心回复!

查看全部评分

 楼主| 858983646 发表于 2024-10-19 20:42
lyzxx 发表于 2024-10-19 18:04
[mw_shl_code=python,true]from svglib.svglib import svg2rlg
from reportlab.graphics import renderPDF ...

谢谢,我刚才也在GitHub找到了这个,可以使用
zx360717966 发表于 2024-10-20 01:04
学习了!真厉害!
wj21 发表于 2024-10-20 08:33
lyzxx 发表于 2024-10-19 18:04
[mw_shl_code=python,true]from svglib.svglib import svg2rlg
from reportlab.graphics import renderPDF ...

学习了,还有这样的方法
luojineng 发表于 2024-10-20 12:08
小阿林 发表于 2024-10-19 15:49
转成PDF就已经没法保留矢量图的属性了

可以的。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 12:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表