メモ
- ページサイズの一覧を見たいので、Reportにページ数、回転角度、CropBox、MediaBox、ArtBoxの値を出力する。
使い捨てスクリプト
// Acrobat Standard DC (2022年6月頃), Windows 11 // JavaScript デバッガー の コンソール から実行 // 実行方法はテキストを範囲選択して Ctrl + Enter app.addMenuItem({ cName: 'MyWindow0', cUser: 'JavaScript デバッガー を表示', cParent: 'Window', // ウィンドウ(W) nPos: 0, cExec: '\ console.show();\ console.println("// JavaScript デバッガー の コンソール から実行");\ console.println("// 実行方法はテキストを範囲選択して Ctrl + Enter");\ ', cEnable: 'event.rc = true', cMarked: 'event.rc = false', bPrepend: false }); app.addSubMenu({ cName: 'MyEdit0', cUser: 'ページサイズ一覧を確認', cParent: 'Edit', // 編集(E) nPos: 0 }); app.addMenuItem({ cName: 'MyEdit0Report', cUser: 'レポートを作成', cParent: 'MyEdit0', nPos: 0, cExec: '\ /* 以下 cExec */\ (()=>{\ const doc = this;\ const numPages = doc.numPages;\ \ const rep = new Report();\ rep.size = 1.00;\ \ rep.color = ["RGB", 0/255, 0/255, 0/255];\ \ rep.writeText(util.printf(\ "%s%s", "path: ", doc.path));\ rep.writeText(util.printf(\ "%s%.3f MB", "filesize: ", doc.filesize/1024/1024));\ rep.writeText(util.printf(\ "%s%s", "numPages: ", numPages));\ \ rep.divide();\ \ rep.writeText(\ "Page / PageRotation / CropBox / MediaBox / ArtBox"\ );\ \ [...Array(numPages)].forEach(($null, pageNum) => {\ const rot = doc.getPageRotation({nPage: pageNum});\ const boxC = doc.getPageBox(\ {cBox: "Crop", nPage: pageNum}).map(x => 25.4/72 * x);\ const boxM = doc.getPageBox(\ {cBox: "Media", nPage: pageNum}).map(x => 25.4/72 * x);\ const boxA = doc.getPageBox(\ {cBox: "Art", nPage: pageNum}).map(x => 25.4/72 * x);\ \ switch (rot) {\ case 0:\ rep.color = ["RGB", 0/255, 0/255, 0/255];\ break;\ case 90:\ rep.color = ["RGB", 192/255, 0/255, 0/255];\ break;\ case 180:\ rep.color = ["RGB", 0/255, 128/255, 0/255];\ break;\ case 270:\ rep.color = ["RGB", 0/255, 0/255, 192/255];\ break;\ default:\ rep.color = ["RGB", 0/255, 0/255, 0/255];\ }\ \ rep.writeText(util.printf(\ "%5d\t/%4d\t/" + \ "%-7.1f,%-7.1f,%-7.1f,%-7.1f\t/" + \ "%-7.1f,%-7.1f,%-7.1f,%-7.1f\t/" + \ "%-7.1f,%-7.1f,%-7.1f,%-7.1f", \ pageNum, rot, \ boxC[0], boxC[3], boxC[2], boxC[1], \ boxM[0], boxM[3], boxM[2], boxM[1], \ boxA[0], boxA[3], boxA[2], boxA[1]\ ));\ });\ \ const docRep = rep.open("レポート.pdf");\ docRep.layout = "SinglePage";\ docRep.zoomType = zoomtype.pref;\ })();\ /* 以上 cExec */\ ', cEnable: 'event.rc = (event.target != null);', cMarked: 'event.rc = false;', bPrepend: false }); app.addMenuItem({ cName: 'MyEdit0SetPageBoxesArtTrimBleed', cUser: 'ページボックス(Art, Trim, Bleed)の設定を削除', cParent: 'MyEdit0', nPos: 1, cExec: '\ /* 以下 cExec */\ (() => {\ this.setPageBoxes({cBox:"Art"});\ this.setPageBoxes({cBox:"Trim"});\ this.setPageBoxes({cBox:"Bleed"});\ })();\ /* 以上 cExec */\ ', cEnable: 'event.rc = (event.target != null);', cMarked: 'event.rc = false;', bPrepend: false });
JavaScript デバッガー を表示する手順の例
「新規しおり」を作成して「しおりのプロパティ」にて「アクションの追加」で「JavaScriptを実行」を追加。「JavaScriptの作成と編集」に「console.show();」と記述。