Greetings,
This is a nice piece of code. Unfortanelty,
this.newPage() does not work (from App Level Folder). I did find a work-around using
this.insertPages():
Code: Select all
// Title: Workarounds to this.newPage();
// Author: ⚜ Kenny Lemens, P.E. ᵂᴵ || Date: 2025-01-24
// For "Insert Page" to Work, blank template to be saved to filepath: "/C/Program Files/Tracker Software/PDF Editor/JavaScripts/BlankPDF_Letter.pdf"
// Save this as Javascript to folder "%Appdata%\Tracker Software\PDFXEditor\3.0\Javascripts'
// Image Support: encode 20x20 Pixel PNG Images (ARGB Structure -> 8*digit HEX)
var iconSet = { icoAddPageAfter: "00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFDBD8DFFF949295FF8E8E8CFF8D928BFF8A8F88FF8F908BFF959394FF918C90FF8F8A8EFF9B9B9DFFD6D6D600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBBBAC0FFE8E9EDFFFBFDFCFFFEFFF9FFFFFFFAFFFDFFFCFFF8FCFBFFFBFFFFFFF3F7F8FF969195FF858384FFEEF4F200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFB9BABFFFE3E7EAFFFEFFFFFFFFFFFAFFFBFAF5FFFEFFFDFFFBFFFFFFF8FDFFFFEAEEEFFF7A7677FF646061FFB1B7B5FFEEF7F400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBFC0C4FFE8E9EBFFFFFFFFFFFFFFFBFFFFFFFBFFFDFDFDFFFBFBFDFFFFFEFFFFF7F7F9FFB2B0B1FF656364FF747474FFDFDFE100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFB4B5B9FFEBECEEFFFFFFFFFFFCFAFBFFFFFDFFFFF7FEF7FF8CA892FFD4F0DAFFFFFFFFFFFBFBF9FFD5D5D3FF888888FFB2B0B3FFF3F3F300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFB8B9BBFFEDF1F2FFFCFFFDFFFEFFFDFFFEFEFEFFF5FFFAFF316242FF95C7A4FFFBFFFFFFFCFFFDFFFAFFF9FFF0F4F3FFBABBBDFFE8E8E800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFB6B7B9FFE5E9EAFFF7FFFBFFF5FFFDFFF2FFF8FFEAFFF6FF1F6438FF88D0A2FFF9FFFDFFF9FFFAFFF9FFFAFFFCFFFFFFBEBFC1FFE0E0E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBABCBBFFE8E9EBFFEEFFFBFFE9FFFBFFE6FFFAFFD7FFF0FF1A6F38FF7AD39BFFF9FFFDFFF9FFFAFFE9FFFBFFFCFFFFFFBEBFC1FFE0E0E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBBBBBBFFE9E9EBFFA9C5B7FF375E4BFF2F5C45FF26643FFF197137FF197336FF1A6338FF306046FF375E4BFFFBFFFFFFBEBFC1FFE0E0E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBBBBB9FFECE7EBFFE1F5E9FF9CB8A9FF95B8A4FF86B797FF1B662DFF4E9C62FF7EB68FFF95C9B2FF95C9B2FFF9FFFFFFBEBFC0FFE0E0E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBCBBB9FFEAE8EBFFF9FFFAFFF4FFF9FFF1FFF7FFE7FFF3FF236736FF8ED29FFFFAFFFDFFF7FFF8FFF8FFF9FFFDFFFEFFBFBFC0FFE0E0E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBBBCB7FFE6EAEBFFFBFFFFFFFBFFFBFFF7FFFAFFFFFEFFFF256543FF95C9B2FFFBFFFDFFF6FFF7FFF7FFF8FFFDFFFDFFC0BFC0FFE0E0E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBABBB6FFE4EAEAFFFBFFFFFFFCFFFBFFF8FFFAFFFFFEFFFF265C45FF95C9B2FFFCFFFDFFF5FFF6FFF7FFF8FFFEFFFDFFC1BFC0FFE0E0E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBABBB6FFE5E9EAFFFCFFFFFFFFFFFBFFFCFFF8FFFFFEFFFFD5F7E7FFEAFFFBFFFDFFFDFFF5FFF6FFFCFFFFFFFEFFFDFFC1BFC0FFE0E0E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBABBB6FFE8E8E8FFFEFFFFFFFFFFFBFFFCFFFAFFFFFEFFFFFFFFFFFFFFFEFFFFFEFFFDFFF5FFF6FFFEFFFFFFFEFFFDFFC1BFC0FFE0E0E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFD5D7D4FF9C9A9BFF888888FF89948EFF869189FF888888FF89948EFF869189FF888888FF89948EFF888888FF9C9A9BFFD5D7D400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFF7FBE86FF7EBE85FF7DBE86FF7EBE86FF7EBE86FF7DBE85FF7EBE85FF7FBE86FF7FBE86FF7FBE86FF7FBE86FF7FBE86FF7FBE86FF7FBE86FF7FBE86FF7FBE86FF7FBE86FF7FBE8600FFFFFF00FFFFFFFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0E00FFFFFF",
icoAddPageBefore: "00FFFFFFFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0EFF007F0E00FFFFFF00FFFFFFFF7FBE86FF7FBE86FF7FBE86FF7FBE86FF7FBE86FF7FBE86FF7FBE86FF7FBE86FF7FBE86FF7FBE86FF7FBE86FF7EBE85FF7DBE85FF7EBE86FF7EBE86FF7DBE86FF7EBE85FF7FBE8600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFDBD8DFFF949295FF8E8E8CFF8D928BFF8A8F88FF8F908BFF959394FF918C90FF8F8A8EFF9B9B9DFFD6D6D600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBBBAC0FFE8E9EDFFFBFDFCFFFEFFF9FFFFFFFAFFFDFFFCFFF8FCFBFFFBFFFFFFF3F7F8FF969195FF858384FFEEF4F200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFB9BABFFFE3E7EAFFFEFFFFFFFFFFFAFFFBFAF5FFFEFFFDFFFBFFFFFFF8FDFFFFEAEEEFFF7A7677FF646061FFB1B7B5FFEEF7F400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBFC0C4FFE8E9EBFFFFFFFFFFFFFFFBFFFFFFFBFFFDFDFDFFFBFBFDFFFFFEFFFFF7F7F9FFB2B0B1FF656364FF747474FFDFDFE100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFB4B5B9FFEBECEEFFFFFFFFFFFCFAFBFFFFFDFFFFF7FEF7FF8CA892FFD4F0DAFFFFFFFFFFFBFBF9FFD5D5D3FF888888FFB2B0B3FFF3F3F300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFB8B9BBFFEDF1F2FFFCFFFDFFFEFFFDFFFEFEFEFFF5FFFAFF316242FF95C7A4FFFBFFFFFFFCFFFDFFFAFFF9FFF0F4F3FFBABBBDFFE8E8E800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFB6B7B9FFE5E9EAFFF7FFFBFFF5FFFDFFF2FFF8FFEAFFF6FF1F6438FF88D0A2FFF9FFFDFFF9FFFAFFF9FFFAFFFCFFFFFFBEBFC1FFE0E0E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBABCBBFFE8E9EBFFEEFFFBFFE9FFFBFFE6FFFAFFD7FFF0FF1A6F38FF7AD39BFFF9FFFDFFF9FFFAFFE9FFFBFFFCFFFFFFBEBFC1FFE0E0E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBBBBBBFFE9E9EBFFA9C5B7FF375E4BFF2F5C45FF26643FFF197137FF197336FF1A6338FF306046FF375E4BFFFBFFFFFFBEBFC1FFE0E0E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBBBBB9FFECE7EBFFE1F5E9FF9CB8A9FF95B8A4FF86B797FF1B662DFF4E9C62FF7EB68FFF95C9B2FF95C9B2FFF9FFFFFFBEBFC0FFE0E0E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBCBBB9FFEAE8EBFFF9FFFAFFF4FFF9FFF1FFF7FFE7FFF3FF236736FF8ED29FFFFAFFFDFFF7FFF8FFF8FFF9FFFDFFFEFFBFBFC0FFE0E0E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBBBCB7FFE6EAEBFFFBFFFFFFFBFFFBFFF7FFFAFFFFFEFFFF256543FF95C9B2FFFBFFFDFFF6FFF7FFF7FFF8FFFDFFFDFFC0BFC0FFE0E0E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBABBB6FFE4EAEAFFFBFFFFFFFCFFFBFFF8FFFAFFFFFEFFFF265C45FF95C9B2FFFCFFFDFFF5FFF6FFF7FFF8FFFEFFFDFFC1BFC0FFE0E0E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBABBB6FFE5E9EAFFFCFFFFFFFFFFFBFFFCFFF8FFFFFEFFFFD5F7E7FFEAFFFBFFFDFFFDFFF5FFF6FFFCFFFFFFFEFFFDFFC1BFC0FFE0E0E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFBABBB6FFE8E8E8FFFEFFFFFFFFFFFBFFFCFFFAFFFFFEFFFFFFFFFFFFFFFEFFFFFEFFFDFFF5FFF6FFFEFFFFFFFEFFFDFFC1BFC0FFE0E0E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFD5D7D4FF9C9A9BFF888888FF89948EFF869189FF888888FF89948EFF869189FF888888FF89948EFF888888FF9C9A9BFFD5D7D400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF",
icoFlatten: "00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFF8F7F400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFDDD6C3FFE0D7AFFFDED8C4FFE3DDD1FFEAE6DEFFF0EDE6FFF7F6F300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFE5DFD4FFD1C582FFEADD31FFE7DA38FFE2D54BFFE0D569FFD5CA98FFE5E0D500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFE0D9CCFFD0C5A0FFD0C375FFD9CC5CFFE1D449FFE1D447FFD5CA89FFECE8E000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFD6CDBCFFC1B49BFFCEC3A9FFE0D9C1FFD6CDAEFFE2DCCB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFE5E0D5FFC5B9A1FFC5B9A0FFF4F2ED00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFEFECE5FFCCC2ADFFC4B8A0FFEBE7DF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFF5F3E6FFEAE4B0FFE2D989FFE7DF92FFEDE6ABFFF0ECC7FFEEEAD6FFD4CBB6FFC3B69DFFDFD9CC00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFF5F2E9FFDFD684FFEADD23FFFAED03FFFBEE04FFF5E817FFEBDF31FFE4D74AFFDBCE5CFFD2C680FFDCD5BFFFE5E0D5FFF4F1ED00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFE3DDB5FFD1C62BFFE0D400FFEADD00FFF2E500FFF9EC00FFFDF000FFFAED09FFE6D93CFFC1B66FFFA9A087FFBAAF97FFD2C8B6FFF2F0EB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFD3CB90FFBBB00DFFC5BA00FFCFC400FFD9CE00FFE3D800FFEBDF04FFE0D437FFAAA278FF7C7A72FF71706EFF7A7872FFB2A792FFD7CFBE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFF8F7F4FFCAC28DFFA4990DFFAAA000FFB4A900FFBEB300FFC9BD00FFCFC413FFB2A866FF757370FF636466FF636466FF636466FF858279FFCBC0ABFFF6F4F000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFD7D1B2FF968C26FF908600FF998F00FFA39900FFAEA300FFB6AB1EFF989182FF636466FF636466FF636466FF636466FF696969FFCABFA9FFF5F2EE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFF1EEE8FFB6AE7BFF89801CFF847B06FF8A8000FF938A02FFA49A3AFF908A7FFF636466FF636466FF636466FF636466FF767570FFCABFAAFFF5F3EF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFF3F1ECFFD1CAAFFFA79E5EFF887E1CFF807705FF91882EFF948E80FF656567FF636466FF636466FF656667FF9A9384FFD0C6B300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFEFECE5FFCBC4A2FFA49C56FF938937FFA29978FF7B7873FF666667FF6D6C6BFF89857AFFC1B59DFFE7E3D900FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFEEEBE3FFCDC6A7FFB9AF8BFFAAA08BFF979183FFA19888FFC0B49DFFDFD8CA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFFFFECE8E0FFDDD6C8FFD6CDBCFFDBD4C5FFEBE7DF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF",
iconStream:function(val){var data=this[val];
return {count:0, width:20, height:20, read:function(nBytes){return data.slice(this.count,this.count+=2*nBytes)}}}
};
app.addToolButton({
cName: "RICE.InsPgAfter",
cLabel: "Insert After",
oIcon: iconSet.iconStream("icoAddPageAfter"),
cTooltext: "Insert blank page after current page",
cEnable: true,
cExec: "onClick_AddPageAfter()" }
);
app.addToolButton({
cName: "RICE.InsPgBefore",
cLabel: "Insert Before",
oIcon: iconSet.iconStream("icoAddPageBefore"),
cTooltext: "Insert blank page before current page",
cEnable: true,
cExec: "onClick_AddPageBefore()" }
);
app.addToolButton({
cName: "RICE.PackageAndSave",
cLabel: "Package and Save",
oIcon: iconSet.iconStream("icoFlatten"),
cTooltext: "Flatten, scale and save the document for distribution to third parties",
cEnable: true,
cExec: "onClick_PackageAndSave()"
});
onClick_AddPageAfter = app.trustedFunction(function(){
app.beginPriv();
this.insertPages({nPage: this.pageNum, cPath:"/C/Program Files/Tracker Software/PDF Editor/JavaScripts/BlankPDF_Letter.pdf", nStart:0, nEnd:0 });
app.endPriv();
});
onClick_AddPageBefore = app.trustedFunction(function(){
app.beginPriv();
this.insertPages({nPage: this.pageNum - 1, cPath:"/C/Program Files/Tracker Software/PDF Editor/JavaScripts/BlankPDF_Letter.pdf", nStart:0, nEnd:0 });
app.endPriv();
});
//nuflux - https://forum.pdf-xchange.com/viewtopic.php?t=39385
onClick_PackageAndSave = app.trustedFunction(function(){
app.beginPriv();
var currentDoc = this;
for(var i=0; i<currentDoc.numPages; i++){
if(!i){
// === if i=0; Create new document =======================================
var flatDoc = app.newDoc();
}else{
//=== Add page if document already created ===============================
flatDoc.insertPages({nStartPage:i, cPath:"/C/Program Files/Tracker Software/PDF Editor/JavaScripts/BlankPDF_Letter.pdf", nStart:0, nEnd:0 });
}
}
// === For each page; insert as Watermark into new pdf
for(var i=0; i<currentDoc.numPages; i++){
flatDoc.addWatermarkFromFile({
cDIPath: currentDoc.path,
nSourcePage: i,
nStart:i,
nScale: -1
});
}
app.endPriv();
});
In addition, I enhanced the custom script by creating a 20x20 pxl icon.
LIMITATION:
- The Package and Save will only flatten the last saved state of the pdf (not what is currently shown on screen, but will reflect what was last saved to disk).
May this be of Good Help;
⚜ Kenny Lemens, P.E. ᵂᴵ