[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)

相关推荐
2401_879693876 分钟前
用Python批量处理Excel和CSV文件
jvm·数据库·python
I'm Jie9 分钟前
Swagger UI 本地化部署,解决 FastAPI Swagger UI 依赖外部 CDN 加载失败问题
python·ui·fastapi·swagger·swagger ui
2401_8463416528 分钟前
Python Lambda(匿名函数):简洁之道
jvm·数据库·python
2401_8796938731 分钟前
进阶技巧与底层原理
jvm·数据库·python
阿_旭33 分钟前
基于YOLO26深度学习的【桃子成熟度检测与分割系统】【python源码+Pyqt5界面+数据集+训练代码】图像分割、人工智能
人工智能·python·深度学习·桃子成熟度检测
蹦哒36 分钟前
Kotlin 与 Java 语法差异
java·python·kotlin
jerryinwuhan1 小时前
python数据挖掘基础
python·数据挖掘·numpy
echome8881 小时前
Python 异步编程实战:asyncio 核心概念与最佳实践
开发语言·网络·python
yunyun321231 小时前
自动化与脚本
jvm·数据库·python
暮冬-  Gentle°1 小时前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python