
卒論のデータ処理で困っています。。。
以下の操作を、あるフォルダ内のすべてのPDFファイルに対して実行するプログラムを書いてもらえませんでしょうか?なおOSはwindows8で、コマンドプロンプトでできるのかな、と思うのですが、まったくの素人でして、詳しく教えてくださると助かります!
一応sygwinもインストールしてあるので、シェルスクリプトが書ける方がいましたら、
シェルスクリプトでも結構ですので教えていただけますか?
あるフォルダ内の一つのpdfファイルを開く
→pdfファイルのテキストを全選択
→pdfファイルを閉じる
→新規テキストドキュメント作成
→新規テストドキュメントにペースト
→新規テキストドキュメントを保存(できればそのpdfのファイル名を、テキストのファイル名にしたいです。○○.pdf→○○.txtのように)
これをフォルダ内すべてのファイルに繰り返す
よろしくお願いします。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
こんにちは。
VBAを直接命令させるなら、adobe のツールでadobe のオートメーション化させて動かせるはずです。
adobe のフリーのものでは無理でしょうね。たぶん有償ですよね。
長年、ある大学の先生の論文のpdf の抜き出しのテキストが欲しくて、この夏、やっとツール(この書き込みの最後なリンクあり)の存在を知りまして、テキストを手に入れることができました。(txtファイルの方が、引用・検索が楽だからです)私の入力スピードなら、1冊の本なら必要な抜粋(excerpt)を数時間で作ってしまいますが、pdf は、それができません。
私自身はマクロ化は考え方ことがありません。理由は、ツールから抜き出す時に、OCR エンジンを使うかどうかの選択を迫られるからです。それに、出来上がりも、また目視による判断が必要で、とても、自動化は無理だと思っています。
テキストが封入されているならよいのですが、そうでないこともしばしばあるからです。
むろん、バッチやsendkeys のつもりで自動化するなら、ここでもお馴染みの、VBAライクの、uwsc (ウィンドウズ・マクロ)で行えばよいです。このツールはExcelのマクロの途中での組み入れ可能です。とても便利なツールですが、中身は、Win32 APIのオンパレードなのに、こんなに簡単に使えるものは、他には知りません。Win32 APIを知らなくてもよいのですが、知っていると格段に使用範囲が広がります。
uswc
http://www.uwsc.info/
なお、私は、Windowsのツールしか知りませんが、お書きになった作業工程自体は、フリーツールで、できるのではありませんか?
http://www.reneelab.jp/pdf-text-free.html
No.4
- 回答日時:
一つのPDFファイルからのコピー&保存が全てキー操作でできるのでれば
WSHのsendkeysコマンドで自動化できます。
http://www.atmarkit.co.jp/ait/articles/0407/08/n …
それを、フォルダ内の全てのPDFについて実行させることもWSH(VBScript)で可能なはずです。
No.3
- 回答日時:
AdobeReaderか何かで全て選択ですよね?
WordでできるのならならVBAでいけそうですが
バッチで全テキストファイル(ファイル名はPDFに同じ、中身が空)を作成する
キーボードマクロで、
ExplorerでEnter(PDFを開く)
Ctrl+A
Ctrl+C
Ctrl+F4で閉じる(Altだったかも)
↓(テキストファイル選択)
Enter(テキストファイル開く)
Ctrl+V
Ctrl+S
Ctrl+F4
↓(次のPDFを選択)
これをファイル数分すれば出来そうですかね?
もしくは、こういうソフトを使う
http://www.gigafree.net/tool/pdf/pdftotextconver …
動作が保証できないので、キチンと変換されてるかの確認が面倒かもしれませんが
あとは、PDF→RTF→TXTという変換も出来るかも
Macだとこういう一連の処理はAutomaterという標準アプリでできるのですが…
ありがとうございます。
まさにその一連の操作が自動化できればと思っていました。
ただ残念ながらVBA初心者なので困っております。。。
macだとそんな標準アプリがあったのですね!初耳でした。
No.2
- 回答日時:
PDFって、二段組になっていたり、パンフレットとかだと文字の位置バラバラですよね
写真とかもあるし
ですから、何処にどの文章を入れるとかが書いてあるのがPDFファイルです
その書き方はAdobeが決めていて(多分)、AdobeReaderはその規則に従って描画してるんですよ
ですので、その規則がわからないと、PDFファイル内の何処が文字データかが分からないです
もしくは、パンフレットとかの場合、テキストにする時にどういう順番で並べるかとか
そういう意味で、バッチやシェルでするのは難しいのではと思います
簡単にする方法があるのかもしれませんが
(MacならOS APIでいけるかもしれませんが)
なるほど・・・手元のpdfは文書のみ、縦に二分割された横書きですがすべて同じフォーマットで、
開く→全部選択→コピー→新しいドキュメントに貼り付け
で、構造的には問題なくテキスト抽出できたので、手でやったことをプログラムでできればと思ったのですが。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画像生成AIのプロンプトの作り...
-
vba 正規表現について教えてく...
-
pythonでのローカルファイルか...
-
if関数とは?
-
プログラム言語
-
今のプログラミング言語
-
vba クリップボードクリアにつ...
-
itエンジニアに就職希望で未経...
-
Pythonのエラーメッセージをコ...
-
P2P地震速報のEEW APIの仕様書...
-
著作権法について
-
プログラミングについて
-
自作scratch アニメの商用利用
-
Geminiフォーム 画像生成で 人...
-
数学、プログラミング、物理、...
-
Python 3.12.2 か一番最新のパ...
-
MOVEコマンドでサブフォルダー...
-
AIがプログラムする時代のプロ...
-
pythonについて(初心者です)
-
pythonでhtmlファイルの指定文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数に256文字以上のテキストを...
-
テキストボックスの中身をリセ...
-
テキストボックスにセルの値を...
-
テキストエリア内の文字列にリ...
-
VB6.0 でメニューを作りたいん...
-
スキャン後、追記したいのですが、
-
ホームぺージ制作で間違って重...
-
別のアプリケーションのテキス...
-
エクセルのオートシェイプをマ...
-
HTMLのtextbox類に文字を残す
-
全てのテキストボックスをセル...
-
RPG(AS400)の本、サイトってあ...
-
VB.NETで数十行のプログラムを...
-
jQueryで入力テキスト付きのモ...
-
エクセルの図形挿入のVBAにて
-
HTML版とは・・
-
POIでのテキストボックス作成に...
-
フォームのテキストの入力数字...
-
テキストエリアにあわせた文字...
-
VBAからPDFのテキストフィールド
おすすめ情報
あるフォルダ内の一つのpdfファイルを開く
→pdfファイルのテキストを全選択
→コピー
→pdfファイルを閉じる
→新規テキストドキュメント作成
→新規テストドキュメントにペースト
→新規テキストドキュメントを保存(できればそのpdfのファイル名を、テキストのファイル名にしたいです。○○.pdf→○○.txtのように)
です。コピーが抜けてました。
もしかしたらエクセルのマクロでできるかもと思ったので、詳しい方いましたら教えてください!