PDFファイルを数十個開いた状態で

「名前を付けて保存」⇒「閉じる」⇒「名前を付けて保存」⇒「閉じる」
という動作を開いたファイル分実行する必要があります。
※「名前を付けて保存」で上書きするとファイルサイズが小さくなる為このような作業を行う必要があります。

この「名前を付けて保存」⇒「閉じる」を自動で、もしくは簡単に行う方法は無いでしょうか。
ファイル数が多く、サイズの大きなファイルだと保存時間も長い為、有る程度自動化したいと考えております。

アクロバットは「ACROBAT8 PROFESSIONAL」を使用しています。

回答の条件
  • 1人5回まで
  • 登録:2009/02/25 18:00:02
  • 終了:2009/03/04 18:00:03

回答(5件)

id:shotaro_tsuji No.1

shotaro_tsuji回答回数32ベストアンサー獲得回数02009/02/25 19:47:13

ポイント20pt

http://www.adobe.com/devnet/acrobat/javascript.html

JavaScriptを習得しているならスクリプトで処理出来ます。リファレンス(PDF,英語)のリンクを書いておきます。

id:and_sin

残念ながらJavaScriptは習得できてません。

具体的にどのように記述すると良いか教えて頂けると幸いです。

2009/02/25 19:54:24
id:tobeoscontinue No.2

tobeoscontinue回答回数214ベストアンサー獲得回数542009/02/25 21:19:39

ポイント20pt

Acrobatの自動処理機能で文書を瞬時に整理整頓で有る程度自動化できるかもしれません。

新規シーケンスでやりたい事、「名前を付けて保存」,「閉じる」を登録します。

後は登録したシーケンスを選ぶと順次処理されます。

ただ通常のやりかたでは自動処理を選んでから、その対象となるファイルを幾つか選択して、いっきに処理するという使い方なのですが、

注意:Acrobatで開いているファイルに対してバッチ処理を行うように設定することもできますが、

とあるので何かやりかたがあるものと思います。

現在、Acrobatを持っていないので確認できないのですが。

id:and_sin

バッチ処理の新規シーケンスには「名前を付けて保存」,「閉じる」という設定が無いようです。

JavaScriptを利用すれば解決できるのかもしれませんが、JavaScripを利用したバッチ処理をこれまで使用したことがなく、設定方法がまったく分かりません。

シーケンス編集画面の、JavaScript編集画面に下記コマンドを入力したのですが残念ながら動きませんでした。(実行しても何もおきない)

app.execMenuItem("SaveAS")

app.execMenuItem("close")

JavaScriptの記載方法に誤りがあるのかもしれませんが、どこがおかしいのか分からずにいます。

2009/02/25 21:28:51
id:tobeoscontinue No.3

tobeoscontinue回答回数214ベストアンサー獲得回数542009/02/25 23:09:48

ポイント20pt

二度目の回答ですいません。

http://www.openspc2.org/reibun/Acrobat8/javascript/etc/002/index...

保存するだけなのでシーケンスを選ぶ必要がなかったようです。


新規シーケンスを選びます

バッチシーケンスの編集の3.出力場所の選択や出力オプションを設定します。


ただこのやり方では作成したシーケンスを選んでからバッチ処理をするファイルを指定する

というやりかたなので開いた状態のファイルでは機能しないかもしれません。

2.コマンドを実行する対象:のメニューや選択...の辺りに何かオプションがあるかもしれません。

id:and_sin

回答ありがとうございます。

確かにフォルダやファイルを指定してであれば、可能だと思います。

ただ、今回は「開いた状態のファイル」で名前を付けて保存が出来る必要があります。

理由は、大量のフォルダ内にあるPDFファイルのサイズを小さくする必要があり、Windowsのファイル検索でPDFの一覧を表示させ、その一覧から数十個単位でファイルを開き名前を付けて保存で上書きをしたいと考えているからです。

JavaScriptの記述で解決できるのが良いのですが。。

もしくはWindowsの動作を記録するソフトUWSCのようなソフトでの対応も考えたのですが、ファイルサイズが大きなPDFと小さいPDFとでは保存時間が大きく異なる為、単純に動作を記録するだけでは難しいようだと考えています。

引き続き何か良い案がございましたらご教授ください。

2009/02/25 23:44:13
id:shotaro_tsuji No.4

shotaro_tsuji回答回数32ベストアンサー獲得回数02009/02/26 17:03:02

ポイント20pt

http://www.adobe.com/devnet/acrobat/javascript.html

ソースを書きますと以下のようになりますが手元にはIllustrator CS2しかない為、Acrobatでは確認できていません。

このソースの動作についてはリファレンス内のJavaScript APIのappとDocの説明を参考にしてください。

(動作確認の時には壊れても良いファイルを使ってください。)

var docs = app.activeDocs;

for( i = 0 ; i < docs.length ; i++ )
{
  docs[i].saveAs({
    cPath: docs[i].documentFileName,
    bPromptToOverwrite: false});
  docs[i].closeDoc();
}
id:airplant No.5

airplant回答回数220ベストアンサー獲得回数492009/02/27 02:56:41

ポイント20pt

#3でand_sinさん自身が書かれていますが、UWSCで時間を指定して最大時間をタイマー(SLEEP)で待つか、特定ウインドウが開くまで待つようにすれば、簡単に自動化できるものと思われます。

Acrobatで保存が終わったときに何かウインドウが出れば、それがトリガになるのですが・・・

JavaScriptでの記載を見たのですが、名前は個別に指定する必要があるようです。そのためには、そのファイルがどのフォルダの何かというのを知る必要があるので、ある程度JavaScriptを理解して組む必要があります。

参考→

http://q.hatena.ne.jp/1224655899#a865379

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません