diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/aeb_pro/aebslicing |
Initial commit
Diffstat (limited to 'macros/latex/contrib/aeb_pro/aebslicing')
-rw-r--r-- | macros/latex/contrib/aeb_pro/aebslicing/AeB Slicing.sequ | 22 | ||||
-rw-r--r-- | macros/latex/contrib/aeb_pro/aebslicing/aebslice.js | 345 | ||||
-rw-r--r-- | macros/latex/contrib/aeb_pro/aebslicing/aebslicing_sequ_doc.pdf | bin | 0 -> 67532 bytes |
3 files changed, 367 insertions, 0 deletions
diff --git a/macros/latex/contrib/aeb_pro/aebslicing/AeB Slicing.sequ b/macros/latex/contrib/aeb_pro/aebslicing/AeB Slicing.sequ new file mode 100644 index 0000000000..c115fe89a1 --- /dev/null +++ b/macros/latex/contrib/aeb_pro/aebslicing/AeB Slicing.sequ @@ -0,0 +1,22 @@ +<</Commands [/c << /0 [/c << /Config [/c << /UIPolicy [/i 3] +>>] + /HandlerName [/a /JavaScript] + /Params [/c << /ScriptCode [/t (/* AeB Slicing */\r\n\r\nvar sData = global.aebSliceDialogData;\r\nvar path2Save = /.*\\//i.exec\(this.path\)[0];\r\npath2Save = path2Save.substring\(0,path2Save.length-1\);\r\nvar thisPath = path2Save;\r\n\r\nvar baseName = this.documentFileName.replace\(/\\.pdf$/,""\);\r\n\r\nbaseName = \(sData.basename == "" \) ? baseName : sData.basename;\r\n\r\nvar isRelativePath = sData.relativepath;\r\nvar packageIt = sData.package\r\n\r\nif \(isRelativePath\) path2Save = thisPath + \( \(sData.path == "" \) ? "" : "/" + path2Save \);\r\nelse path2Save = \(sData.path == "" \) ? path2Save : sData.path;\r\n\r\nvar nRows = 1*sData.nRows\r\nvar nCols = 1*sData.nCols\r\n\r\nvar nPage = \(sData.page == "" \) ? 0 : 1*eval\(sData.page\);\r\n\r\nvar aRect = this.getPageBox\({cBox:"Crop",nPage:nPage}\);\r\n\r\nvar width = aRect[2]-aRect[0];\r\nvar height = aRect[1]-aRect[3];\r\n\r\nvar mWidth = width/nCols;\r\nvar mHeight = height/nRows;\r\nvar nCnt = 0;\r\n\r\nvar t = app.thermometer;\r\nt.duration = nRows*nCols;\r\nt.begin\(\);\r\n\r\nfor \( var i=0; i<nRows; i++\) {\r\n for \( var j=0; j<nCols; j++ \) {\r\n t.value = \(nCnt+1\);\r\n t.text = "Processing row " + \(i+1\) + ", column " + \(j+1\);\r\n var doc = this.extractPages\({nStart:nPage}\);\r\n doc.setPageBoxes\({\r\n cBox:"Crop",\r\n nStart:0,\r\n rBox: [\r\n j*mWidth,\r\n aRect[1]-i*mHeight,\r\n \(j+1\)*mWidth,\r\n aRect[1]-\(i+1\)*mHeight\r\n ]\r\n }\);\r\n nCnt++;\r\n cCnt = \( nCnt < 10 \) ? "0"+nCnt : ""+nCnt;\r\n if \( sData.format == "" \) {\r\n doc.saveAs\({\r\n cPath: path2Save+"/"+baseName+"_"+cCnt+".pdf"\r\n }\);\r\n } else { \r\n doc.saveAs\({\r\n cPath: path2Save+"/"+baseName+"_"+cCnt+"."+sData.ext,\r\n cConvID: sData.format\r\n }\);\r\n }\r\n doc.closeDoc\(true\);\r\n }\r\n}\r\nt.end\(\);\r\n// t = app.thermometer;\r\nif \( packageIt && \(sData.ext == "pdf"\)\) {\r\n t.value = 0;\r\n t.duration = nCnt;\r\n var doc = app.newDoc\({ nWidth: width, nHeight: height }\);\r\n\r\n for \( var i=1; i<= nCnt; i++ \) { \r\n cCnt = \( i < 10 \) ? "0"+i : ""+i;\r\n t.value = i;\r\n t.text = "Packaging slices: " + baseName+"_"+cCnt+".pdf";\r\n doc.insertPages\({nPage: i-1, cPath: path2Save+"/"+baseName+"_"+cCnt+".pdf", nStart: 0 }\);\r\n }\r\n doc.deletePages\({ nStart: 0 }\);\r\n t.text = "Saving package file: " + baseName+"_package.pdf";\r\n doc.saveAs\({ cPath: path2Save+"/"+baseName+"_package.pdf" }\);\r\n doc.closeDoc\(true\);\r\n// t.end\(\)\r\n console.println\("\\nPackaged Icon file created, save to " + path2Save+"/"+baseName+"_package.pdf"\);\r\n}\r\n)] + /ScriptName [/t ()] +>>] + /Title [/t (Execute JavaScript)] +>>] +>>] +/Input [/c << /FileVariation [/i 3] + /SourceFileOptions [/c <<>>] +>>] +/Output [/c << /AddToBaseName [/b false] + /DontOverwrite [/b false] + /FileVariation [/i 2] + /InsertAfterBaseName [/t ()] + /InsertBeforeBaseName [/t ()] + /OptimizePDF [/b true] + /PresetName [/t (Standard)] + /RunPDFOptimizer [/b false] +>>] +>>
\ No newline at end of file diff --git a/macros/latex/contrib/aeb_pro/aebslicing/aebslice.js b/macros/latex/contrib/aeb_pro/aebslicing/aebslice.js new file mode 100644 index 0000000000..6844b28bc7 --- /dev/null +++ b/macros/latex/contrib/aeb_pro/aebslicing/aebslice.js @@ -0,0 +1,345 @@ +/* + AeB Slicing Dialog Box for AeB Slice batch sequence + Copyright (C) 2006 AcroTeX.Net + D. P. Story + http://www.acrotex.net + + Version 1.0 + +*/ + +app.addMenuItem( { cName: "aebSlicemenuItem", cUser: "AeB Slicing Parameters", + cParent: "Tools", cExec: "aebGetSliceData();", nPos: 0 } ); + +function aebGetSliceData() +{ + var retn = aebTrustedFunctions(this, aebExecDialog, aebGetSliceDialog); + if ( retn == "cancel" ) delete global.aebGetSliceData; + else { + console.show(); + console.println("\nAeB Slice settings are set, now run the AeB Slice batch sequence"); + } +} + +if ( typeof aebTrustedFunctions == "undefined") { + aebTrustedFunctions = app.trustedFunction( function ( doc, oFunction, oArgs ) + { + app.beginPriv(); + var retn = oFunction( oArgs, doc ) + app.endPriv(); + return retn; + }); +} +if ( typeof aebExecDialog == "undefined" ) { + var aebExecDialog = app.trustedFunction( function (dialog,parentDoc) + { + app.beginPriv(); + dialog.doc = parentDoc; + try { return retn = app.execDialog(dialog); } catch(e){} + app.endPriv(); + }) +} +var aebGetSliceDialog = { + initialize: function (dialog) + { + if ( typeof global.aebSliceDialogData == "undefined" ) { + this.loadDefaults(dialog); + } else { + var sData = global.aebSliceDialogData; + dialog.load({ + sFmt: { + "PDF": (sData.format =="") ? +1 : -1, + "EPS": (sData.format =="com.adobe.acrobat.eps") ? +2 : -2, + "JPEG": (sData.format =="com.adobe.acrobat.jpeg") ? +3 : -3, + "JP2K": (sData.format =="com.adobe.acrobat.jp2k") ? +4 : -4, + "PNG": (sData.format =="com.adobe.acrobat.png") ? +5 : -5, + "PS": -(sData.format =="com.adobe.acrobat.ps") ? +6 : -6, + "TIFF": (sData.format =="com.adobe.acrobat.tiff") ? +7 : -7 + }, + nRow: sData.nRows, + nCol: sData.nCols, + path: sData.path, + bNam: sData.basename, + nPag: sData.page, + relp: sData.relativepath, + pack: sData.package + }); + dialog.enable({ + pack: ( sData.format == "") ? true : false, + }); + } + + }, + loadDefaults: function (dialog) { + dialog.load({ + sFmt: { + "PDF": +1, + "EPS": -2, + "JPEG": -3, + "JP2K": -4, + "PNG": -5, + "PS": -6, + "TIFF": -7 + }, + relp: true, + pack: false + }) + }, + commit:function (dialog) { // called when OK pressed + var results = dialog.store(); + // sFmt -- save format + // nRow -- number of rows + // nCol -- number of columns + // path -- save path + // bNam -- base name + // nPag -- page number + global.aebSliceDialogData = new Object(); + var sData = global.aebSliceDialogData; + var elements = results["sFmt"]; + for(var i in elements) if ( elements[i] > 0 ) break; + switch ( elements[i] ) { + case 1: sData.format = ""; + sData.ext = "pdf"; + break; + case 2: sData.format = "com.adobe.acrobat.eps"; + sData.ext = "eps"; + break; + case 3: sData.format = "com.adobe.acrobat.jpeg"; + sData.ext = "jpg"; + break; + case 4: sData.format = "com.adobe.acrobat.jp2k"; + sData.ext = "jp2k"; + break; + case 5: sData.format = "com.adobe.acrobat.png"; + sData.ext = "png"; + break; + case 6: sData.format = "com.adobe.acrobat.ps"; + sData.ext = "ps"; + break; + case 7: sData.format = "com.adobe.acrobat.tiff"; + sData.ext = "tif"; + } + var nRows = results["nRow"]; + nRows = this.ck4Int(nRows,"Rows",2); + sData.nRows = ""+nRows; + + var nCols = results["nCol"]; + nCols = this.ck4Int(nCols,"Columns",2); + sData.nCols = ""+nCols; + + sData.path = results["path"]; + sData.basename = results["bNam"]; + + var nPage = results["nPag"]; + nPage = this.ck4Int(nPage,"Page Number",this.doc.pageNum); + sData.page = ""+nPage; + + sData.relativepath = results["relp"]; + sData.package = results["pack"]; + }, + ck4Int: function (n,str,def) { + if (isFinite(n)) { + n = parseFloat(n); + n = (isNaN(n)) ? def : n; + n = parseInt(n); + } else { + console.println("The value of the \""+str + +"\" field specified was not an integer, changing it to a value of " + +def+" for now, please fix."); + n = def; + } + return n; + }, + sFmt: function (dialog) { + var results = dialog.store(); + var elements = results["sFmt"]; + for(var i in elements) if ( elements[i] > 0 ) break; + switch ( elements[i] ) { + case 1: + dialog.enable({ pack: true }); + break; + default: + dialog.enable({ pack: false }); + } + }, + rest: function (dialog) { + dialog.load({ + sFmt: { + "PDF": +1, + "EPS": -2, + "JPEG": -3, + "JP2K": -4, + "PNG": -5, + "PS": -6, + "TIFF": -7 + }, + nRow: "", + nCol: "", + path: "", + bNam: "", + nPag: "", + relp: true, + pack: false + }); + }, + description: + { + name: "AcroTeX.Net: AeB Slicing Batch Sequence Dialog Box", // dialog title + align_children: "align_left", + elements: + [ + { + type: "view", + align_children: "align_left", + elements: + [ + { + type: "cluster", + name: "aeb: Slicing Parameters", + item_id: "info", + align_children: "align_right", + elements: + [ + { + type: "view", + align_children: "align_row", + elements: + [ + { + type: "static_text", + name: "Save Format:" + }, + { + item_id: "sFmt", + type: "popup", + alignment: "align_fill", + width: 200, + height: 20 + }, + { + type: "gap", + width: 65, + height: 20 + } + ] + }, + { + type: "view", + align_children: "align_row", + elements: + [ + { + type: "static_text", + name: "Rows:", + height: 20 + }, + { + item_id: "nRow", + type: "edit_text", + alignment: "align_fill", + width: 300, + height: 20 + } + ] + }, + { + type: "view", + align_children: "align_row", + elements: + [ + { + type: "static_text", + name: "Columns:", + height: 20 + }, + { + item_id: "nCol", + type: "edit_text", + alignment: "align_fill", + width: 300, + height: 20 + } + ] + }, + { + type: "view", + align_children: "align_row", + elements: + [ + { + type: "static_text", + name: "Base name:", + height: 20 + }, + { + item_id: "bNam", + type: "edit_text", + alignment: "align_fill", + width: 300, + height: 20 + } + ] + }, + { + type: "view", + align_children: "align_row", + elements: + [ + { + type: "static_text", + name: "Page Number:", + height: 20 + }, + { + item_id: "nPag", + type: "edit_text", + alignment: "align_fill", + width: 300, + height: 20 + } + ] + }, + { + type: "view", + align_children: "align_row", + elements: + [ + { + type: "static_text", + name: "Path:", + height: 20 + }, + { + item_id: "path", + type: "edit_text", + alignment: "align_fill", + width: 300, + height: 20 + } + ] + }, + { type: "view", align_children: "align_row", width:300, + elements: + [ {type: "check_box", item_id: "relp", name: "Relative path"}, + {type: "check_box", item_id: "pack", name: "Package files"} + ] + }, + ] + }, + { + type: "view", + align_children: "align_row", + elements: + [ + { alignment: "align_right",type: "ok_cancel" }, + { type: "gap", width: 100 }, + { type: "button", item_id: "rest", name: "Reset" } + ] + } + ] + } + ] + } +}; + + diff --git a/macros/latex/contrib/aeb_pro/aebslicing/aebslicing_sequ_doc.pdf b/macros/latex/contrib/aeb_pro/aebslicing/aebslicing_sequ_doc.pdf Binary files differnew file mode 100644 index 0000000000..58c642ba3e --- /dev/null +++ b/macros/latex/contrib/aeb_pro/aebslicing/aebslicing_sequ_doc.pdf |