全6ページの作り物をしています。
一番最初に的確な回答をいただいた方に3000ポイント進呈いたします。
この6ページを各ページごとでPDF書き出しをしたいのですが
スクリプトなどでそのようなことは可能でしょうか?
●ファイル名を指定したいです。
1ページ目「○○○○○.pdf」
2ページ目「○○○××.pdf」
3ページ目「△△△△△.pdf」
4ページ目「○△△××.pdf」
5ページ目「△○○××.pdf」
6ページ目「○○○△△.pdf」
●書き出しのプリセットを選べるとうれしいです
また、教えていただいたものは、
ほかのバージョンでも使用できますでしょうか?
(CS、CS2、CS3を所有しています。)
どうぞよろしくお願いいたします。
Windows で CS4 で試した例ですが、Mac でも動くと思います。
(動かなかったらポイント不要です。)
下記を参考にしてページを分割したスクリプトの例です。
http://www.milligramme.cc/weblog/2009/04/id-1.html
下記を参考にスクリプトをフォルダ下にコピーし、アプリケーションの
ウィンドウ⇒自動化⇒スクリプト
で保存したファイル名を指定して実行してみてください。
http://www.openspc2.org/book/InDesignCS4/intro/007/index.html
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll; (function () { // ★★★ファイル名の定義 var fileNameList = new Array("", "pdf_page1.pdf", "pdf_page2.pdf", "pdf_page3.pdf", "pdf_page4.pdf", "pdf_page5.pdf", "pdf_page6.pdf" ); if(app.documents.length!=0) { var docObj=app.documents[0]; var pageObj=docObj.pages; var myPDFexPreset=app.pdfExportPresets.item("Sample"); // ★★★保存フォルダの指定 var myFolder=Folder.selectDialog("Choose a Folder to export"); // var myFolder="C:/MyPDF"; // Windows で出力先を決め打ちで指定する例 if(myFolder==null) { return; } // for(var i=1 ; i<=pageObj.length; i++) for(var i=1 ; i<=6; i++) { app.pdfExportPreferences.pageRange=String(i)+"-"+String(i); var myFile=new File(myFolder+fileNameList[i]); docObj.exportFile(ExportFormat.pdfType,myFile,false) ; } } })();
exportFile は第4引数でプリセットを利用できるようなので、そちらを利用する際は
下記のサイトが参考になるかと思います。
http://tu-kazu.jp/javascript1.php
スクリプトに関しては、こちらがいろいろ参考になりそうです。
mookさま
どうもありがとうございます!
Mac環境がないので、月曜日にためさせていただきます。
今WindowsのCS2で試してみたのですが、
デスクトップを指定して試してみたのですが作成されませんでした。
そこで新規フォルダを作成するで試してみたのですが、
指定したフォルダ名+pdf_page1.pdfというような
感じでファイルが出来ました。
Windows で出力先を決め打ちで指定する例では、
Cドライブの直下にMyPDFpdf_page1.pdfというファイルが作成されました。
バージョンが異なるからでしょうか?