关于python-docx包的使用
import docxiniti_text = docx.Document('demo.docx')
arr = []
for para in initi_text.paragraphs:
arr.append(para.text)
# arr = ''.join(arr)
doc = docx.Document()
doc.add_paragraph(arr)
doc.save('trans_for_docx.docx')
从demo文档读取内容,写入trans_for_docx,写入后格式出现了变化。
源文档第一行文字居中,第二行文字从左到右,但是写入后的文档变成了一整排,回车空格什么的被自动删除了。这是什么原因? 这是图 提取完字符串就只是字符串了,设置字体得自己来。
>>> from docx.enum.text import WD_ALIGN_PARAGRAPH
>>> document = Document()
>>> paragraph = document.add_paragraph()
>>> paragraph_format = paragraph.paragraph_format
>>> paragraph_format.alignment
None# indicating alignment is inherited from the style hierarchy
>>> paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
>>> paragraph_format.alignment
CENTER (1)
如果是复制文件,直接shutil库复制即可。 本帖最后由 ilsoviet1917 于 2021-11-22 09:33 编辑
suchocolate 发表于 2021-11-18 15:05
提取完字符串就只是字符串了,设置字体得自己来。
如果是复制文件,直接shutil库复制即可。
还是不太理解你的答案,现在不是提取字体,只是提取文字和格式。我的理解是,不管是居中还是空格还是段落首部空两格,都是空格和回车组成的,所以能在提取的时候保留空格和回车就行。
提取后还要进一步翻译,所以shutil不合适。 ilsoviet1917 发表于 2021-11-22 09:01
还是不太理解你的答案,现在不是提取字体,只是提取文字和格式。我的理解是,不管是居中还是空格还是段 ...
空格会自动保留,'回车'得改个形式:import docx
txt = docx.Document('demo.docx')
doc = docx.Document()
for para in txt.paragraphs:
# t = TransateFunc(para.text) --> return: str
# doc.add_paragraph(t)
doc.add_paragraph(para.text)
doc.save('trans_for_docx.docx')
页:
[1]