This example uses the free PDF creator called “PrimoPDF.” And it uses an Infilink timer, it takes 5 windows, prints them to 5 separate PDF files, then uses an external program called pdftk run through a command prompt to merge the 5 PDF Files into one. This script is OnDataChange on tag PrintTimerElapsed.Â
You’ll notice that the I’m sending “z” to PrimoPDF sometimes–it causes PrimoPDF to take no action at all, but I found that the first character I sent it was sometimes getting ignored. By sometimes, I mean this: If I logged into the PC with GoToAssist, the first character was not ignored. If I logged in by Remote Desktop, the first character was ignored. And if I was not logged in at all (the PC was running on its own without me seeing it) then the first character was ignored.
The script:
IF PrintTimerElapsed=3 THEN ReportFileName=”D:\Export\Individual_Page_Reports\PDF_Report-“+str(_Year)+”-“+right(“0″+str(_Month),2)+”-“+right(“0″+str(_Date),2)+”-“+right(“0″+str(_Hour),2)+”Page1.pdf”; ENDIF;
IF PrintTimerElapsed=4 THEN PRINT “Report_Page_1”; ENDIF;
#IF PrintTimerElapsed=11 THEN sendkeys(“PrimoPDF”,””,0); ENDIF;
IF PrintTimerElapsed=11 THEN sendkeys(“PrimoPDF”,”z”,0); ENDIF;
IF PrintTimerElapsed=14 THEN sendkeys(“PrimoPDF”,””,0); ENDIF;
IF PrintTimerElapsed=18 THEN sendkeys(“Save As”,ReportFileName,0); ENDIF;
IF PrintTimerElapsed=22 THEN sendkeys(“Save As”,””,0); ENDIF;
IF PrintTimerElapsed=24 THEN ReportFileName=”D:\Export\Individual_Page_Reports\PDF_Report-“+str(_Year)+”-“+right(“0″+str(_Month),2)+”-“+right(“0″+str(_Date),2)+”-“+right(“0″+str(_Hour),2)+”Page2.pdf”; ENDIF;
IF PrintTimerElapsed=25 THEN PRINT “Report_Page_2”; ENDIF;
#IF PrintTimerElapsed=29 THEN sendkeys(“PrimoPDF”,””,0); ENDIF;
IF PrintTimerElapsed=29 THEN sendkeys(“PrimoPDF”,”z”,0); ENDIF;
IF PrintTimerElapsed=32 THEN sendkeys(“PrimoPDF”,””,0); ENDIF;
IF PrintTimerElapsed=35 THEN sendkeys(“Save As”,ReportFileName,0); ENDIF;
IF PrintTimerElapsed=38 THEN sendkeys(“Save As”,””,0); ENDIF;
Â
IF PrintTimerElapsed=41 THEN ReportFileName=”D:\Export\Individual_Page_Reports\PDF_Report-“+str(_Year)+”-“+right(“0″+str(_Month),2)+”-“+right(“0″+str(_Date),2)+”-“+right(“0″+str(_Hour),2)+”Page3.pdf”; ENDIF;
IF PrintTimerElapsed=42 THEN PRINT “Report_Page_3”; ENDIF;
#IF PrintTimerElapsed=47 THEN sendkeys(“PrimoPDF”,””,0); ENDIF;
IF PrintTimerElapsed=47 THEN sendkeys(“PrimoPDF”,”z”,0); ENDIF;
IF PrintTimerElapsed=51 THEN sendkeys(“PrimoPDF”,””,0); ENDIF;
IF PrintTimerElapsed=55 THEN sendkeys(“Save As”,ReportFileName,0); ENDIF;
IF PrintTimerElapsed=59 THEN sendkeys(“Save As”,””,0); ENDIF;
Â
IF PrintTimerElapsed=62 THEN ReportFileName=”D:\Export\Individual_Page_Reports\PDF_Report-“+str(_Year)+”-“+right(“0″+str(_Month),2)+”-“+right(“0″+str(_Date),2)+”-“+right(“0″+str(_Hour),2)+”Page4.pdf”; ENDIF;
IF PrintTimerElapsed=63 THEN PRINT “Report_Page_4”; ENDIF;
#IF PrintTimerElapsed=68 THEN sendkeys(“PrimoPDF”,””,0); ENDIF;
IF PrintTimerElapsed=68 THEN sendkeys(“PrimoPDF”,”z”,0); ENDIF;
IF PrintTimerElapsed=72 THEN sendkeys(“PrimoPDF”,””,0); ENDIF;
IF PrintTimerElapsed=76 THEN sendkeys(“Save As”,ReportFileName,0); ENDIF;
IF PrintTimerElapsed=80 THEN sendkeys(“Save As”,””,0); ENDIF;
IF PrintTimerElapsed=83 THEN ReportFileName=”D:\Export\Individual_Page_Reports\PDF_Report-“+str(_Year)+”-“+right(“0″+str(_Month),2)+”-“+right(“0″+str(_Date),2)+”-“+right(“0″+str(_Hour),2)+”Page5.pdf”; ENDIF;
IF PrintTimerElapsed=84 THEN PRINT “Report_Page_5”; ENDIF;
#IF PrintTimerElapsed=89 THEN sendkeys(“PrimoPDF”,””,0); ENDIF;
IF PrintTimerElapsed=89 THEN sendkeys(“PrimoPDF”,”z”,0); ENDIF;
IF PrintTimerElapsed=93 THEN sendkeys(“PrimoPDF”,””,0); ENDIF;
IF PrintTimerElapsed=97 THEN sendkeys(“Save As”,ReportFileName,0); ENDIF;
IF PrintTimerElapsed=101 THEN sendkeys(“Save As”,””,0); ENDIF;
IF PrintTimerElapsed=104 THEN ReportFileName=”D:\Export\Individual_Page_Reports\PDF_Report-“+str(_Year)+”-“+right(“0″+str(_Month),2)+”-“+right(“0″+str(_Date),2)+”-“+right(“0″+str(_Hour),2)+”Merged.pdf”; ENDIF;
Â
IF PrintTimerElapsed=105 THEN PDFMerge=”c:\pdftk\bin\pdftk.exe “+”D:\Export\Individual_Page_Reports\PDF_Report-“+str(_Year)+”-“+right(“0″+str(_Month),2)+”-“+right(“0″+str(_Date),2)+”-“+right(“0″+str(_Hour),2)+”*.pdf cat output D:\Export\PDF_Report-“+str(_Year)+”-“+right(“0″+str(_Month),2)+”-“+right(“0″+str(_Date),2)+”-“+right(“0″+str(_Hour),2)+”_Merged.pdf”; ENDIF;
IF PrintTimerElapsed=107 THEN RUN PDFMerge; ENDIF;