MacのAdobe InDesign CSを利用しての

PDF書き出しについて再度質問があります。

下記にて単ページで名前指定で書き出す方法を
教えていただきました。
http://q.hatena.ne.jp/1247151917

ちなみにページ指定で
書き出す方法ってありますでしょうか?

1ページ目から3ページ目を「●●▼▼_0907.PDF」
2ページ目から3ページ目を「▼▼●●_0907.PDF」
4ページ目から5ページ目を「××●●_0907.PDF」

見たいな感じで先頭が指定名+アンダーバー+書き出す年と月+拡張子と
なっているとうれしいです。

どうぞよろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:2009/07/19 08:39:49
  • 終了:2009/07/19 19:36:46

ベストアンサー

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912009/07/19 09:58:52

ポイント3000pt

前回の回答をベースにしたものです。

プリセットの使用等は同様に対応ください。

app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;
(function () {
// ★★★ファイル名の定義
//  開始ページ, 終了ページ,ファイル名
    var fileList = new Array(
//  開始ページ, 終了ページ,ファイル名
        Array(1,3,"page1_3.pdf"),
        Array(2,3,"page2_3.pdf"),
        Array(4,5,"page4_5.pdf")  );

     if(app.documents.length!=0)
    {
        var docObj=app.documents[0];
        var pageObj=docObj.pages;
        var myPDFexPreset=app.pdfExportPresets.item("Sample");

// ★★★日付部分の作成
        var date = new Date();
        var strDate = String(date.getFullYear()).substr(-2)+ String("0"+(date.getMonth() + 1) ).substr(-2);
// ★★★保存フォルダの指定
         var myFolder=Folder.selectDialog("Choose a Folder to export");
        if(myFolder==null) { return; }
        for( var i=0 ; i<fileList.length ; i++ )
        {
// ★★★ページ指定
            app.pdfExportPreferences.pageRange=String(fileList[i][0])+"-"+String(fileList[i][1]);
// ★★★ファイルの出力
            var myFile=new File( myFolder + "/" + fileList[i][2] + "_" + strDate + ".pdf");
            docObj.exportFile(ExportFormat.pdfType,myFile,false) ;
        }
    }
})();
id:ohtsu6

Mookさま

出来ました。

どうもありがとうございます。

追加になってしまい申し訳ございませんが、

ページを飛ばしてPDFを作成することは可能でしょうか?

(たとえば、1ページ、3ページ、4ページ目でPDF作成など)

どうぞよろしくお願いいたします。

2009/07/19 18:16:07
  • id:Mook
    最初の配列の定義を出力したいように変えてください。

    1ページだけを出したければ、開始ページと終了ページを同じ数字
    にすればできます。
    間が抜けても、ページが重なっても問題ありません。

    同じファイル名にだけならないようにすれば、保存したいファイルの数だけ
    配列の定義をすれば100でも200でも可能です(時間はかかるとおもいますが)。

    ただし、エラー処理はしていないので実際にないページは指定しないように
    してください。
  • id:ohtsu6
    Mookさま
    言葉足らずでスミマセン。

    1ページと3ページと4ページ目で1つのPDF作成を
    作成するということでした。
    可能でしょうか?


    1ページのみの書き出しは参考になりました。
    ありがとうございます。
  • id:Mook
    指定はできますが、現在の仕様では無理です。

    それぞれ該当する部分を下記のように変更してください。
      var fileList = new Array(
    // ページ指定,ファイル名
        Array("1-3","page1_2_3.pdf"),
        Array("2-2","page2.pdf"),
        Array("3","page3.pdf"),
        Array("2,4-6","page2_4_5_6.pdf"),
        Array("1,3,4","page_1_3_4.pdf") );

    // ★★★ページ指定
        app.pdfExportPreferences.pageRange=fileList[i][0];
    // ★★★ファイルの出力
        var myFile=new File( myFolder + "/" + fileList[i][1] + "_" + strDate + ".pdf");
    (注:インデントは半角スペースに置き換えてください。)
  • id:ohtsu6
    Mookさま

    どうもありがとうございます。
    出来ました!
  • id:Mook
    今回も過分なポイント、ありがとうございました。

    今後この関連の追加質問があるようでしたら、通常ポイントで結構ですよ。
    代わりといっては何ですが、お役にたったらイルカ賞をご考慮ください。

    無事に動作したようで、何よりでした。
  • id:Mook
    あっ、今回の仕様ではファイル名の中では .pdf の指定は不要ですね。
    お気付きのことと思いますが、定義からは削除しておいてください。
  • id:Mook
    あら、イルカ賞って後からも付けられるんですね。

    ありがとうございます^ ^。

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

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

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

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