使用 python docx 格式化 docx 文件中的行间距

问题描述 投票:0回答:2

我正在使用 python 的 docx 库阅读 Word 文档:

然后我进行了一些修改,例如更改颜色和文本等,到目前为止我已经做得很好了。然而,我在 Mac 上工作,而一些同事在 Windows 上工作,我发现虽然输出文档的页脚在我的计算机上看起来很好,但在 Windows 机器上打开时,文本间距从单间距变为双间距.

我试图将格式指定为单倍间距,但似乎没有任何效果。这是目前的尝试:

from docx import Document

rendered_doc = Document(output_filename)

for section in rendered_doc.sections:
        footer = section.footer
        for paragraph in footer.paragraphs:
            for run in paragraph.runs:
                run.paragraph_format.line_spacing = 1.0

如何实现这一目标?

python windows macos docx python-docx
2个回答
0
投票

在 macOS 和 Windows 系统之间传输时,您在 Word 文档中遇到的行间距问题可能与这些平台处理行间距的方式不同有关。

from docx import Document
from docx.shared import Pt

# Open the document
rendered_doc = Document(output_filename)

# Define the desired line spacing in points (e.g., 12 points for single spacing)
line_spacing = Pt(12)

# Iterate through sections and footers
for section in rendered_doc.sections:
    footer = section.footer
    for paragraph in footer.paragraphs:
        for run in paragraph.runs:
            # Set the line spacing for the paragraph
            run.paragraph_format.line_spacing = line_spacing

# Save the modified document
rendered_doc.save(output_filename)

0
投票

有没有办法为整个

文档设置这个
line_spacing,而不是为每个段落分段设置? docs指定如何在段落级别设置行距,但如何在整个文档级别设置行距?

© www.soinside.com 2019 - 2024. All rights reserved.