Docuworksからテキストを抽出したい
いつも大変お世話になっております。
Docuworksからテキストを抽出するプログラムに挑戦中です。
Docuworksのホームページ
https://www.fujifilm.com/fb/support/software/dw_world
幸いなことに既にプログラムを公開してくださってる方がおりまして、
早速使用させていただいたのですが、うまくいきません。
pythonファイルにDocuworksをドラッグ・ドロップしたところ
テキストファイルは作成されましたが、中身が空でした。
公開してくださった方のサイト↓
https://www.ishikawasekkei.com/index.php/2019/09/11/xdwlib-docuworks-text-export/
以下公開してくださった方のコード
python
1from sys import argv, exit 2from os.path import basename, isfile, splitext 3from xdwlib import xdwopen 4 5def export_xdwfulltext(input_file): 6 7 BASE_FILENAME , ext = splitext(input_file) 8 if ext.lower() != ".xdw": 9 print("指定されたファイルの拡張子が.xdwではありません。["+ext+"]") 10 input("Hit Enter key.") 11 return 12 13 if not isfile(input_file): 14 print("指定されたファイルが存在しません。["+input_file+"]") 15 input("Hit Enter key.") 16 return 17 18 OUTPUT_PATHNAME = BASE_FILENAME + ".txt" 19 20 if isfile(OUTPUT_PATHNAME): 21 print("出力先のファイルが既に存在します。["+OUTPUT_PATHNAME+"]") 22 answer = input("上書きしますか?(Y/N):") 23 if answer.upper()[0] != "Y": 24 print("処理を中断しました。") 25 return 26 27 with open(OUTPUT_PATHNAME,"w",encoding="utf-8") as f,\ 28 xdwopen(input_file) as doc: 29 for p in doc: 30 f.write(p.fulltext()) 31 f.write("\n") 32 33 34if __name__ == '__main__': 35 36 if len(argv) < 2: 37 print(basename(argv[0]),"は、ドキュワークスで出力されたxdwファイルの中のテキストを出力するプログラムです。") 38 print("拡張子が.xdwのファイルのみ対象とし、同ファイル名の.txtファイルとして出力します。") 39 print("使い方1:",basename(argv[0]),"hoge.xdw ...") 40 print("使い方2:",basename(argv[0]),"に、ファイルをドラッグ&ドロップ") 41 input("Hit Enter key.") 42 exit 43 44 for f in argv[1:]: 45 export_xdwfulltext(f)
試したこと
自分で作成してみようと思い、調べてみたのですが
Docuworksから何らかのツールを使用してテキストを抽出するより、
OCR化して使用している人が多く、サンプルをなかなか見つけられませんでした。
OCR化はできるのですが、できればpythonで挑戦したいと考えております。
以下のサイトは見てみました。
http://xdwlib.linxs.org/modules
アドバイス、おすすめのサイト等ご教授いただければ幸いです。
初心者のため拙い質問等すると思います。そういった質問にも答えられる方
どうぞよろしくお願い致します。
攻撃的な言葉を使用する方は苦手なので、他の方のお力になって頂ければ幸いです。
どうぞよろしくお願い致します。

回答1件
あなたの回答
tips
プレビュー