オリジナルのスタイルを維持するためにPythonの文書処理ドキュメント

文書ファイル形式、ライン、画像、ヘッダーとフッターはすべて同じです

# - * -コーディング:UTF-8 - * -
#@time:2019年5月6日11時46
#@author:
"" "
のpython-DOCXは、記事の内容に置き換え

Pythonの-PIPのインストールDOCX
#形式を、ライン、画像、ヘッダーとフッターがすべて同じで
、問題のハイパーリンクに対処する上で#のpython-DOCX、あなたは修正するためにソースリンクを参照することができ
https://github.com/python- OPENXML /のpython-DOCX /問題/ 85

#特定の変更以下のように
\のsite-packages \ docxファイル\ oxml \ __ init__.pyを

#需要新增的代码
DEF remove_hyperlink_tags(XML):
インポート再
テキスト= xml.decode( 'UTF-8')
テキスト= text.replace( "</ W:ハイパーリンク>"、 "")
テキスト= re.sub( '<W:ハイパーリンク[^>] *>'、 ""、テキスト)
リターンtext.encode( 'UTF-8')

#ソースコードの変更する必要が
DEFのparse_xml(XML):
root_element = etree.fromstring(remove_hyperlink_tags(XML)、oxml_parser)
リターンroot_elementを
"" "

輸入OS

docxファイルのインポート文書から
win32comインポートクライアントから

#文章翻訳パッケージによって、独自の文章を書く
doc_scanインポート


pre_document DEF(ファイル名):
「」 "
ためpython_docx(のみ.docファイルを読み込むことができないの.docxファイルを読み取る)
のdocのdocxファイルにファイルに対応するフォルダへ
のparamファイル名:ファイルの絶対パス
:リターン:
「」 "

= os.path.splitext file_tuple(ファイル名)
file_tuple IF == 'の.doc' [1]:
ワード= client.Dispatch( 'Word.Application')
先パス#におけるDOC = word.Documents.Open(ファイル名)ファイル
doc.SaveAs(file_tuple [0] + "の.docx"、16) 変換パス#の後にファイルの
doc.close()
word.Quit()
ソースファイルを削除
os.remove(ファイル名)


:read_document DEF()
「「」
その後、中国の元の記事と文で英語と中国語の文章に翻訳され、記事のオリジナルのスタイルを維持するために、オリジナルの中国英語を交換する
:リターン:
」「」
ファイルのドキュメント#トラバース内のすべてのファイル
のパスos.path.dirname =(os.path.abspathと(__ FILE__))+ '\ DOC'
os.listdirでF(パス)について:
ファイル= "%S \ S%" %(パス、F)
のソースファイル前処理
pre_document(ファイル)
のドキュメント=ドキュメント(ファイル)
NUM、列挙段落(document.paragraphs)用:
#は、テキストの各部分を取得
= paragraph.text.strip OLD_TEXT()
OLD_TEXT IF:
インライン= paragraph.runs
IFインライン:
#空である元の記事の内容
を列挙中のLiのために、InLi(インライン):
インライン[李]の.text =インライン[リチウム] .text.replace(インライン[Liは]の.text、 '')
NEW_TEXT = doc_scan。スキャン(OLD_TEXT)

#上記ゼロ位置に文章翻訳文書番号を交換
インライン[0]の.text = NEW_TEXT
#ファイル保存、上書き
document.save(ファイル)


#将文書中的图片下载到本地
#文書=文書(ファイル)
document.inline_shapesにおける形状のため#:
コンテンツID = shape._inline.graphic.graphicData.pic.blipFill.blip.embed
#のcontentType = document.part.related_pa​​rts [コンテンツID] .content_type
#ない場合contentType.startswith( '画像'):
続行
#imgName =ベース名(document.part.related_pa​​rts [コンテンツID] .partname)
#imgData = document.part.related_pa​​rts [コンテンツID] ._ブロブ
と#オープン(imgName、 'WB')FPとして:
#1 fp.write(imgData)

もし__name__ == '__main__':
read_document()

----------------
免責事項:この記事は元の記事CSDNブロガー「Cocktail_py」で、CC 4.0 BY-SAの著作権契約書に従って、元のソースのリンクと、この文を添付してください、再現。 。
オリジナルリンクします。https://blog.csdn.net/Cocktail_py/article/details/101149901

おすすめ

転載: www.cnblogs.com/ein-key5205/p/12305994.html