メモ
- テキストボックス注釈で各ページにページ番号を記入するAcrobat JavaScript
- テキストボックス注釈の位置や書式など細かいことは気にしない
- ページ番号の記入方法として「ヘッダーとフッターを追加」では都合が悪い場合の使用を想定
(() => {
const src = "(" +
(() => {
const doc = this;
var pageRotation, str, strWmm, strHmm, annot;
var cResponse = app.response({
cQuestion:
"・各ページに 資料名 と ページ番号 をテキストボックス注釈で記入します。\r" +
"・あらかじめ注釈の「テキストのプロパティ」で書式を設定しておいてください。",
cTitle: "Acrobat JavaScript: " + doc.documentFileName,
cDefault: "○△□完成図書 3/10",
bPassword: false,
cLabel: "資料名"
});
if (cResponse == null) {
return;
}
[...Array(doc.numPages)].forEach(($null, pageNum) => {
pageRotation = doc.getPageRotation({nPage: pageNum});
str = "『" + cResponse + "』 ページ " +
(pageNum + 1) + " / " + numPages;
strWmm = 25.4/72 * 8 * [...str].length; /* フォント8pt */
strHmm = 25.4/72 * 8 * 1.5; /* フォント8pt */
if (pageRotation == 90 || pageRotation == 270) {
[strWmm, strHmm] = [strHmm, strWmm];
}
annot = doc.addAnnot({
type: "FreeText",
page: pageNum,
rect: [0+2, 0+2, strWmm+2, strHmm+2].map(x => 72/25.4 * x),
rotate: pageRotation,
contents: str
});
});
}).toString().replace(/\r\n/g, "") + ")();";
app.addMenuItem({
cName: 'MyEdit',
cUser: '資料名とページ番号を記入',
cParent: 'Edit',
nPos: 0,
cExec: src,
cEnable: 'event.rc = (event.target != null);',
cMarked: 'event.rc = false;',
bPrepend: false
});
})();