Jes*_*sse 5 python docx orientation python-docx
以下代码尝试使用landscape方向,但文档创建为potrait.
可以建议问题出在哪里?
from docx import Document
from docx.enum.section import WD_ORIENT
document = Document()
section = document.sections[-1]
section.orientation = WD_ORIENT.LANDSCAPE
document.add_heading('text')
document.save('demo.docx')
Run Code Online (Sandbox Code Playgroud)
当我以XML格式读回代码时
<w:document>
<w:body>
<w:p>
<w:pPr>
<w:pStyle w:val="Heading1"/>
</w:pPr>
<w:r>
<w:t>TEXT</w:t>
</w:r>
</w:p>
<w:sectPr w:rsidR="00FC693F" w:rsidRPr="0006063C" w:rsidSect="00034616">
<w:pgSz w:w="12240" w:h="15840" w:orient="landscape"/>
<w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="720" w:footer="720" w:gutter="0"/>
<w:cols w:space="720"/>
<w:docGrid w:linePitch="360"/>
</w:sectPr>
</w:body>
</w:document>
Run Code Online (Sandbox Code Playgroud)
假设部分标签应该位于顶部而不是底部的TEXT标签之上,我不太清楚XML.
Dra*_*gon 13
虽然页面被正确标记为横向,但其尺寸仍与以前相同,必须手动更改.
http://python-docx.readthedocs.io/en/latest/user/sections.html
页面尺寸和方向
Section上的三个属性描述页面尺寸和方向.例如,这些可以用于将部分的方向从纵向更改为横向:
...
new_width, new_height = section.page_height, section.page_width section.orientation = WD_ORIENT.LANDSCAPE section.page_width = new_width section.page_height = new_height
我创建了一个功能,可以轻松地从横向更改为纵向,反之亦然:
def change_orientation():
current_section = document.sections[-1]
new_width, new_height = current_section.page_height, current_section.page_width
new_section = document.add_section(WD_SECTION.NEW_PAGE)
new_section.orientation = WD_ORIENT.LANDSCAPE
new_section.page_width = new_width
new_section.page_height = new_height
return new_section
Run Code Online (Sandbox Code Playgroud)
然后只要你需要就可以使用它:
change_orientation()
document.add_picture(ax1)
change_orientation()
document.add_picture(ax2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4561 次 |
| 最近记录: |