メモ
this.dataObjects.map(obj => obj["path"])
this.getAnnots().filter(annot => annot.type == "FileAttachment").map(annot => annot.getProps()["contents"])
- 環境設定 → JavaScript → JavaScript デバッガー → 「エラーとメッセージをコンソールに表示」にチェックを入れておいてください
- コンソールでの実行はテキストを範囲選択して
Ctrl
+ Enter
app.addMenuItem({cName: "ConsoleShow", cParent: "Help", cExec: "console.show();"});
app.addMenuItem({cName: "TestFileAttachment", cParent: "Help", cExec: "my.f(this);"});
app.addMenuItem({cName: "TestDataObjects", cParent: "Help", cExec: "my.g(this);"});
var my = {};
my.f = doc => {
const docGetAnnots = doc.getAnnots();
if (docGetAnnots === null) {
throw new Error("doc.getAnnots() ... null");
}
const annots = docGetAnnots.filter(annot => annot.type == "FileAttachment");
var annot, propName, str = "";
for (annot of annots) {
const objLiteral = annot.getProps();
str += "-------------------- | --------------------\r";
for (propName in objLiteral) {
str += util.printf('%s | %s\r', propName, annot[propName]);
}
}
console.println(str);
console.show();
};
my.g = doc => {
const docDataObjects = doc.dataObjects || (() => {
throw new Error("doc.dataObjects ... null");
})();
var propName, str = "";
docDataObjects.forEach((obj, numObjs) => {
str += "-----------------------------------\r";
for (propName in obj) {
str += util.printf('this.dataObjects[%d]["%s"]\r%s\r\r', numObjs, propName, obj[propName]);
}
});
console.println(str);
console.show();
};