方法一:docx2pdf库
首先安装 docx2pdf 库:
pip install docx2pdf
from docx2pdf import convert
# 将 Word 文档转换为 PDF
convert("C:/***.docx","C:/***.pdf")
方法二:python-docx和reportlab库
pip install python-docx
pip install reportlab
from docx import Document
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
from io import BytesIO
def convert_docx_to_pdf(input_docx, output_pdf):
# 读取Word文档
doc = Document(input_docx)
# 创建一个PDF文件
pdf_buffer = BytesIO()
pdf_canvas = canvas.Canvas(pdf_buffer, pagesize=letter)
# 逐页将Word文档内容添加到PDF
for i, paragraph in enumerate(doc.paragraphs):
pdf_canvas.drawString(72, 800 - i * 12, paragraph.text)
# 保存PDF文件
pdf_canvas.save()
pdf_buffer.seek(0)
with open(output_pdf, 'wb') as pdf_file:
pdf_file.write(pdf_buffer.read())
# 将Word文档转换为PDF
convert_docx_to_pdf("input.docx", "output.pdf")
python-docx 来读取 Word 文档内容,并使用 reportlab 来创建 PDF 文件。请确保替换代码中的输入和输出文件路径为你实际的文件路径。这个简单的示例逐行将每个段落的文本添加到 PDF 文件,适用于基本的文本内容。如果有更复杂的格式、图像或表格,可能需要更多的处理。