質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

4878閲覧

Python Docuworksからテキストを抽出したい

dokidoki_hamuo

総合スコア38

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/03/24 01:44

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

アドバイス、おすすめのサイト等ご教授いただければ幸いです。

初心者のため拙い質問等すると思います。そういった質問にも答えられる方
どうぞよろしくお願い致します。

攻撃的な言葉を使用する方は苦手なので、他の方のお力になって頂ければ幸いです。

どうぞよろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

can110

2022/03/24 06:36

同様に空のファイルができるので、そもそもそういうもの(または何かが足りてない)かもしれません。
dokidoki_hamuo

2022/03/24 07:01

ご回答ありがとうございます!!! 試して頂き感謝しております。 もしかしてそうなのかなと思っていたので、おかげさまでモヤモヤがすっきりしました。 自分でなんとか情報収集してみようと思います。 周囲でpythonを使う人がいないので、試してもらうこともできなかったので助かりました。 can110様、ありがとうございました。
dokidoki_hamuo

2022/03/24 07:04

自分のモヤモヤが解決したので、ベストアンサーにさせてください。 いったん、自分でコードを整理してから、また投稿させて頂こうと思います。
dokidoki_hamuo

2022/03/24 07:35

can110様 承知しました。この度はありがとうございました。またよろしくお願いいたします。
guest

回答1

0

自己解決

コードが足りていないのではないか、という結論に至りました。

試して頂いた方に感謝します。
自分のDocuworksの変換の仕方がおかしいのか?と疑っていたので、すっきりしました。
アプリケーション文書、イメージ文書などさまざまなDocuworksを作成しましたが
どうやらコードが足りてなかったようなので、今度は自分で作成してみます。

投稿2022/03/24 07:39

dokidoki_hamuo

総合スコア38

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問