admin管理员组文章数量:1605301
from pdf2docx import Converter
def convert_pdf_to_word(pdf_path, docx_path, font_path):
# 创建 pdf2docx.Converter 对象,用于进行 PDF 到 Word 文档的转换操作。
cv = Converter(pdf_path)
# 设置系统默认字体文件的路径
cv.font_path = font_path
# docx_path 转换后的文档路径 start end 用于指定转换的页面范围 为None 则转换整个pdf文件
cv.convert(docx_path, start=0, end=None)
# 关闭转换器
cv.close()
# pdf文件名
pdf_file = "2023_PDF.pdf"
# word文件名
word_file = "output.docx"
default_font = r"C:\Windows\Fonts\Candarai.ttf" # 替换为系统默认字体文件的路径
convert_pdf_to_word(pdf_file, word_file, default_font)
上述方法适用于 一般的pdf转换。像简历之类的pdf转换会报字体错误。
查看系统所有字体路径
import matplotlib.font_manager as fm
# 获取系统中可用的字体列表
font_list = fm.findSystemFonts()
# 打印字体列表
for font_path in font_list:
print(font_path)
查看指定字体路径
import os
from ctypes import windll, create_unicode_buffer
def find_arial_font_path():
# 获取 Arial 字体文件的完整路径
font_name = "Calibri"
buffer_size = 1024
font_buffer = create_unicode_buffer(buffer_size)
# 获取 Windows 系统目录路径
result = windll.kernel32.GetSystemWindowsDirectoryW(font_buffer, buffer_size)
if result == 0:
return None
windows_directory = font_buffer.value
font_file = os.path.join(windows_directory, "Fonts", font_name + ".ttf")
if os.path.isfile(font_file):
return font_file
else:
return None
# 查找 Calibri 字体的路径
arial_font_path = find_arial_font_path()
print(arial_font_path)
版权声明:本文标题:python实现pdf转换为word文档,尽量保持格式不变 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1728480844a1160085.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论