
卒論のデータ処理で困っています。。。
以下の操作を、あるフォルダ内のすべての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で質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- グループウェア 一太郎がイントラで開けません。対処方法を知りたいです。 3 2023/04/04 13:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/01 12:54
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- PDF PDFを自動添付したメールを送信してくれるツールを探しています。 2 2023/02/07 15:19
- PDF PDFに精通した方に質問。JPEGファイル群を一つのPDFファイルにするときの容量変化について 6 2023/07/23 19:06
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/26 17:13
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access2000 実行時エラー '3061':
-
POIでのテキストボックス作成に...
-
UIScrollBarで表示したテキスト...
-
別のアプリケーションのテキス...
-
VBAからPDFのテキストフィールド
-
VB6.0 でメニューを作りたいん...
-
ボタンのクリックカウントでフ...
-
テキストボックスの中身をリセ...
-
スキャン後、追記したいのですが、
-
空白で入力フォームのボタンを...
-
ページを自動で更新したい!
-
四乗根を英語で言うと・・・
-
記述をまとめたい
-
動くボタンでリンク
-
マウス自体の移動量の取得
-
【ActionScript】コンボボック...
-
C# chart controlの透過について
-
ダブルクリックと2回クリックの...
-
イラストレーターの形状リンク...
-
ムービークリップの色が変わら...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスの中身をリセ...
-
全てのテキストボックスをセル...
-
変数に256文字以上のテキストを...
-
テキストボックスにセルの値を...
-
漢字入力した値のカタカナ変換...
-
フォームのテキストの入力数字...
-
DelphiのRichEditでカーソル位...
-
VB6.0 でメニューを作りたいん...
-
'2465'指定した式で参照してい...
-
エディットボックス内での追記
-
テキストエリア内の文字列にリ...
-
SWFからHTML読みこみ
-
別のアプリケーションのテキス...
-
ボタンのクリックカウントでフ...
-
VB.NETで数十行のプログラムを...
-
Flashで恋愛ゲームを作りたいの...
-
フレームアクションで色の変更...
-
macromedia Flash WEBサイトで...
-
テキストフィールドにスクロー...
-
metaタグのdescription
おすすめ情報
あるフォルダ内の一つのpdfファイルを開く
→pdfファイルのテキストを全選択
→コピー
→pdfファイルを閉じる
→新規テキストドキュメント作成
→新規テストドキュメントにペースト
→新規テキストドキュメントを保存(できればそのpdfのファイル名を、テキストのファイル名にしたいです。○○.pdf→○○.txtのように)
です。コピーが抜けてました。
もしかしたらエクセルのマクロでできるかもと思ったので、詳しい方いましたら教えてください!