func init // checks installation Adobe Acrobat include("AdobeAcrobat") // initialize instance sys.add_var(this.name, 'Object') sys.add_var('result', 'Object') end func make_convid() idx = this.props("Format").value if(idx == 1) return("com.adobe.acrobat.eps") elseif(idx == 2) return("com.adobe.acrobat.html") elseif(idx == 3) return("com.adobe.acrobat.jpeg") elseif(idx == 4) return("com.adobe.acrobat.jp2k") elseif(idx == 5) return("com.adobe.acrobat.docx") elseif(idx == 6) return("com.adobe.acrobat.doc") elseif(idx == 7) return("com.callas.preflight.pdfa") elseif(idx == 8) return("com.callas.preflight.pdfe") elseif(idx == 9) return("com.callas.preflight.pdfx") elseif(idx == 10) return("com.adobe.acrobat.png") elseif(idx == 11) return("com.adobe.acrobat.ps") elseif(idx == 12) return("com.adobe.acrobat.rtf") elseif(idx == 13) return("com.adobe.acrobat.xlsx") elseif(idx == 14) return("com.adobe.acrobat.spreadsheet") elseif(idx == 15) return("com.adobe.acrobat.accesstext") elseif(idx == 16) return("com.adobe.acrobat.plain-text") elseif(idx == 17) return("com.adobe.acrobat.tiff") elseif(idx == 18) return("com.adobe.acrobat.xml-1-00") else return("") end end func convert_path(path) return('"/" + (' + path + ').Replace(":", "").Replace(@"\\\\", "").Replace(@"\\", "/")') end func doExport(data) dt = d("PDDoc") if(len(dt)) linked("onError") ? blk.println('try {').inc() : '' blk.println(this.codename, ' = (', dt, ' as ac.AcroPDDoc).GetJSObject();') .println('if (', this.codename, ' != null) {').inc() .println(this.result, ' = ', this.codename, '.GetType().InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod, null, ', this.codename, ', ', 'new object[] { ', convert_path(d("FileName")), ', ', make_convid(), ' }', ', null);') event("onResult", this.result) blk.dec().println('}') if(linked("onError")) blk.dec().println('} catch {').inc() event("onError", 'new Win32Exception(System.Runtime.InteropServices.Marshal.GetLastWin32Error()).Message') blk.dec().println('}') end end end