admin管理员组

文章数量:1593159

方法一: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 文件,适用于基本的文本内容。如果有更复杂的格式、图像或表格,可能需要更多的处理。

本文标签: PythonwordPDF