2015年9月30日水曜日

PDFtkでPDFを結合

PDFtkでは

pdftk.exe 1.pdf 2.pdf cat output output.pdf

でPDFファイルを結合できる。これをPPx 上で行えるようにする。

以下をScriptフォルダに保存。これは、マークファイルの名前を空白区切りで連結して返すスクリプト。マークファイルが二つ以上無ければ終了する。

concatname.js
//!*script

// マークファイルの名前を空白区切りで連結して返すスクリプト
// %*script(%0\Script\concatname.js)のようにして使う
var str = "";
var EntryObj = PPx.Entry;

// 二つ以上マークファイルが無ければ終了
if (PPx.EntryMarkCount < 2) {
  PPx.SetPopLineMessage("2つ以上のマークファイルがありません。");
  PPx.Quit(-1);
}
// マークファイルの名前を空白区切りで連結
EntryObj.FirstMark;
while(true){
  str += " " + EntryObj.Name;
  if(EntryObj.NextMark != 1) break;
}
// 値を返す
PPx.Result = str; 

結合したいPDFファイルを順番にマークし、

%Ob "C:\Program Files (x86)\PDFtk\bin\pdftk.exe" %*script(%0\Script\concatname.js) cat output %{%|output%|.pdf%}

を実行すると、ファイル名を入力するウィンドウが出る。


適当な名前を入力してOKを押せば、その名前でPDFファイルを結合する。

追記


よく考えたら、一々スクリプト使わなくても%#Cでいけるじゃん orz

 %Ob "C:\Program Files (x86)\PDFtk\bin\pdftk.exe" %#C cat output %{%|output%|.pdf%}

0 件のコメント:

コメントを投稿