[Python]将pdf文件转为svg

一、简介

本文介绍了如何使用 python代码将.pdf转为.svg

二、代码

1. 安装 fitz (PyMuPDF) 库

shell 复制代码
pip install PyMuPDF

2. 编写python代码转换文件

python3 复制代码
import fitz  # PyMuPDF 库
import os

def pdf_to_svg(pdf_path, output_folder):
    # 打开 PDF 文件
    pdf_document = fitz.open(pdf_path)

    # 遍历 PDF 的每一页
    for page_num in range(pdf_document.page_count):
        page = pdf_document.load_page(page_num)
        
        # 将页面转换为 SVG 格式
        svg_data = page.get_svg_image()

        # 保存 SVG 文件
        svg_filename = os.path.join(output_folder, f"page_{page_num + 1}.svg")
        with open(svg_filename, 'w', encoding='utf-8') as svg_file:
            svg_file.write(svg_data)

    pdf_document.close()
    print(f"PDF 已成功转换为 SVG, 并保存到文件夹: {output_folder}")

# 使用示例
pdf_path = "input.pdf"  # 替换为你的 PDF 文件路径
output_folder = "./"   # 替换为保存 SVG 文件的文件夹

# 确保输出文件夹存在
os.makedirs(output_folder, exist_ok=True)

pdf_to_svg(pdf_path, output_folder)

三、参考

1\].[PyMuPD](https://pymupdf.readthedocs.io/en/latest/index.html)

相关推荐
weixin_580614004 分钟前
如何提取SQL日期中的年份_使用YEAR或EXTRACT函数
jvm·数据库·python
2301_8135995511 分钟前
SQL生产环境规范_数据库使用最佳实践
jvm·数据库·python
李可以量化11 分钟前
QMT 量化实战:用 Python 实现线性回归通道,精准识别趋势中的支撑与压力(下)
python·qmt·量化 qmt ptrade
a95114164219 分钟前
Go 中通过 channel 传递切片时的数据竞争与深拷贝解决方案
jvm·数据库·python
Dxy123931021619 分钟前
Python 使用正则表达式将多个空格替换为一个空格
开发语言·python·正则表达式
qq_1898070326 分钟前
如何修改RAC数据库名_NID工具在集群环境下的改名步骤
jvm·数据库·python
zhangchaoxies1 小时前
如何检测SQL注入风险_利用模糊测试技术发现漏洞
jvm·数据库·python
Luca_kill1 小时前
MCP数据采集革命:从传统爬虫到智能代理的技术进化
爬虫·python·ai·数据采集·mcp·webscraping·集蜂云
zhangchaoxies1 小时前
CSS如何实现响应式弹性网格布局_配合media query修改flex-wrap属性
jvm·数据库·python
ZC跨境爬虫2 小时前
Scrapy分布式爬虫(单机模拟多节点):豆瓣Top250项目设置与数据流全解析
分布式·爬虫·python·scrapy