Python docx庫刪除復制paragraph及行高設置圖片插入示例
引言
這兩天做一個python小工具,用到瞭docx庫,涉及到paragraph的刪除、,還有行高設置等技術,這裡做一下記錄。
1、復制paragraph
即用來原文檔的加粗、斜體,下劃線,顏色等屬性的,官方沒有提供paragraph的接口,隻能自己實現:
# paragraph 的 def get_para_data(output_doc_name, paragraph): """ Write the run to the new file and then set its font, bold, alignment, color etc. data. """ output_para = output_doc_name.add_paragraph() for run in paragraph.runs: output_run = output_para.add_run(run.text) # Run's bold data output_run.bold = run.bold # Run's italic data output_run.italic = run.italic # Run's underline data output_run.underline = run.underline # Run's color data output_run.font.color.rgb = run.font.color.rgb # Run's font data output_run.style.name = run.style.name # Paragraph's alignment data output_para.paragraph_format.alignment = paragraph.paragraph_format.alignment
2、刪除paragraph
網上有用clear()的,實際不行。 我刪除一個空行paragraph,用clear不行,還是後來用瞭下面這個接口才解決:
def delete_paragraph(paragraph): p = paragraph._element p.getparent().remove(p) p._p = p._element = None
3、插入圖片和paragraph行高設置
由於默認的行高限制,我的使用中遇到瞭麻煩,插入的圖片的時候,圖片部分隻能顯示一部分。後來,找到瞭一個辦法設置行高屬性:
from docx.enum.text import WD_LINE_SPACING paragraph.paragraph_format.line_spacing_rule = WD_LINE_SPACING.MULTIPLE #根據實際大小 output_run = paragraph.add_run("") output_run.add_picture('{}.png'.format(ownerName), width=Pt(50), height=Pt(15))
以上就是Python docx庫刪除復制paragraph及行高設置圖片插入示例的詳細內容,更多關於Python docx庫操作的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- 詳解python-docx處理Word必備工具
- Python操作word文檔的示例詳解
- Python辦公自動化解決world文件批量轉換
- Python設置Word全局樣式和文本樣式的示例代碼
- Python docx庫代碼演示