アプリ版:「スタンプのみでお礼する」機能のリリースについて

卒論のデータ処理で困っています。。。
以下の操作を、あるフォルダ内のすべてのPDFファイルに対して実行するプログラムを書いてもらえませんでしょうか?なおOSはwindows8で、コマンドプロンプトでできるのかな、と思うのですが、まったくの素人でして、詳しく教えてくださると助かります!
一応sygwinもインストールしてあるので、シェルスクリプトが書ける方がいましたら、
シェルスクリプトでも結構ですので教えていただけますか?


あるフォルダ内の一つのpdfファイルを開く
→pdfファイルのテキストを全選択
→pdfファイルを閉じる
→新規テキストドキュメント作成
→新規テストドキュメントにペースト
→新規テキストドキュメントを保存(できればそのpdfのファイル名を、テキストのファイル名にしたいです。○○.pdf→○○.txtのように)

これをフォルダ内すべてのファイルに繰り返す

よろしくお願いします。

質問者からの補足コメント

  • どう思う?

    あるフォルダ内の一つのpdfファイルを開く
    →pdfファイルのテキストを全選択
    →コピー
    →pdfファイルを閉じる
    →新規テキストドキュメント作成
    →新規テストドキュメントにペースト
    →新規テキストドキュメントを保存(できればそのpdfのファイル名を、テキストのファイル名にしたいです。○○.pdf→○○.txtのように)

    です。コピーが抜けてました。

      補足日時:2015/10/31 01:00
  • どう思う?

    もしかしたらエクセルのマクロでできるかもと思ったので、詳しい方いましたら教えてください!

      補足日時:2015/10/31 01:21

A 回答 (5件)

pdfのファイル構造を知らないと無理なので、とても難しいと思いますよ…

    • good
    • 0
この回答へのお礼

夜分にさっそくありがとうございます。
pdfのファイル構造とは具体的に・・・?

お礼日時:2015/10/31 01:20

PDFって、二段組になっていたり、パンフレットとかだと文字の位置バラバラですよね


写真とかもあるし
ですから、何処にどの文章を入れるとかが書いてあるのがPDFファイルです
その書き方はAdobeが決めていて(多分)、AdobeReaderはその規則に従って描画してるんですよ
ですので、その規則がわからないと、PDFファイル内の何処が文字データかが分からないです
もしくは、パンフレットとかの場合、テキストにする時にどういう順番で並べるかとか

そういう意味で、バッチやシェルでするのは難しいのではと思います
簡単にする方法があるのかもしれませんが
(MacならOS APIでいけるかもしれませんが)
    • good
    • 0
この回答へのお礼

なるほど・・・手元のpdfは文書のみ、縦に二分割された横書きですがすべて同じフォーマットで、
開く→全部選択→コピー→新しいドキュメントに貼り付け
で、構造的には問題なくテキスト抽出できたので、手でやったことをプログラムでできればと思ったのですが。。。

お礼日時:2015/10/31 01:39

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という標準アプリでできるのですが…
    • good
    • 0
この回答へのお礼

ありがとうございます。
まさにその一連の操作が自動化できればと思っていました。
ただ残念ながらVBA初心者なので困っております。。。
macだとそんな標準アプリがあったのですね!初耳でした。

お礼日時:2015/10/31 19:09

一つのPDFファイルからのコピー&保存が全てキー操作でできるのでれば


WSHのsendkeysコマンドで自動化できます。

http://www.atmarkit.co.jp/ait/articles/0407/08/n …

それを、フォルダ内の全てのPDFについて実行させることもWSH(VBScript)で可能なはずです。
    • good
    • 0
この回答へのお礼

ありがとうございます。
一つのファイルからコピー、保存はキー操作でできます。
sendkeys、検討してみます。

お礼日時:2015/10/31 19:05

こんにちは。



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
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!