如何将两个单词文档和一个图片结合在一起?

时间:2018-10-06 08:41:12

标签: python-3.x python-docx

这是第一个创建两个单词文档的Python。

from docx import Document
from docx.shared import Inches

document = Document()

document.add_heading('Document Title', 0)

p = document.add_paragraph('A plain paragraph having some ')
p.add_run('bold').bold = True
p.add_run(' and some ')
p.add_run('italic.').italic = True

document.add_heading('Heading, level 1', level=1)
document.add_paragraph('Intense quote', style='Intense Quote')

document.add_paragraph(
    'first item in unordered list', style='List Bullet'
)
document.add_paragraph(
    'first item in ordered list', style='List Number'
)

document.add_picture('monty-truth.png', width=Inches(1.25))

records = (
    (3, '101', 'Spam'),
    (7, '422', 'Eggs'),
    (4, '631', 'Spam, spam, eggs, and spam')
)

table = document.add_table(rows=1, cols=3)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Qty'
hdr_cells[1].text = 'Id'
hdr_cells[2].text = 'Desc'
for qty, id, desc in records:
    row_cells = table.add_row().cells
    row_cells[0].text = str(qty)
    row_cells[1].text = id
    row_cells[2].text = desc

document.add_page_break()

document.save('doc1.docx')

这是用于结合两个单词文档的第二个Python。

from docx import Document

files = ['doc1.docx', 'doc2.docx']


def combine_word_documents(files):
    merged_document = Document()
    for index, file in enumerate(files):
        sub_doc = Document(file)
        # Don't add a page break if you've reached the last file.
        if index < len(files) - 1:
            sub_doc.add_page_break()
        for element in sub_doc.element.body:
            merged_document.element.body.append(element)
    merged_document.save('merged.docx')

combine_word_documents(files)

我想将两个Word文档合并为一个。 在此“ merged.docx”文档中,单词和单词的样式正确。 但, “ merged.docx”的图片错误。 如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用docxcompose我遇到了同样的问题,这似乎是一个简单的解决方案。它将文档与表格和图片结合在一起。