import fitz # PyMuPDF
import os
def pdf_to_svg(pdf_path, output_dir):
# 确保输出目录存在
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# 打开PDF文件
pdf_document = fitz.open(pdf_path)
for page_num in range(len(pdf_document)):
page = pdf_document[page_num]
# 获取SVG内容
svg_content = page.get_svg_image(matrix=fitz.Matrix(1, 1))
# 保存为SVG文件
svg_path = os.path.join(output_dir, f'page_{page_num + 1}.svg')
with open(svg_path, 'w', encoding='utf-8') as f:
f.write(svg_content)
# 示例用法
pdf_path = './pdf/fig1.pdf'
output_dir = './svg'
pdf_to_svg(pdf_path, output_dir)
别忘了pip install pymupdf