Greeting,
Is it possible to add another page on PDF file which is located on external path, when generating report.
Thanks
*This post is locked for comments
Greeting,
Is it possible to add another page on PDF file which is located on external path, when generating report.
Thanks
*This post is locked for comments
Hi,
I tried the same approach. It's working well if the Pdf paths defined to ProcessStartInfo.Arguments is hardcoded like mentioned and I'm facing issue if I'm using it through variables. I believe there is some issue in the quotes.
The following is the code which I used. Request your guidance on it.
ProcessStartInfo := ProcessStartInfo.ProcessStartInfo('C:\Program Files (x86)\Metaist\pdfmerge\bin\pdfmerge.exe');
ArgumentPath := ''+'-o "'+NewPDFFile+'" "'+ PDFFile1 +'" "'+PDFFile2+'"';
ProcessStartInfo.Arguments := ArgumentPath;
ProcessStartInfo.UseShellExecute := FALSE;
ProcessStartInfo.CreateNoWindow := TRUE;
ProcessStartInfo.WindowStyle := ProcessWindowStyle.Hidden;
ProcessStartInfo.RedirectStandardOutput := TRUE;
Process := Process.Process;
Process.StartInfo(ProcessStartInfo);
Process.Start;
Below is the code which will merge file1 and file2 as out.pdf
These are variable declarations
ProcessStartInfo - DotNet - System.Diagnostics.ProcessStartInfo.'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
Process - DotNet - System.Diagnostics.Process.'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
ProcessStartInfo := ProcessStartInfo.ProcessStartInfo('C:\Program Files (x86)\Metaist\pdfmerge\bin\pdfmerge.exe');
ProcessStartInfo.Arguments := '-o "c:\temp\out.pdf" "C:\Temp\file1.pdf" "C:\Temp\file2.pdf"';
ProcessStartInfo.UseShellExecute := FALSE;
ProcessStartInfo.CreateNoWindow := TRUE;
ProcessStartInfo.RedirectStandardOutput := TRUE;
Process := Process.Process;
Process.StartInfo(ProcessStartInfo);
Process.Start;
Please try to use processInfo instead of Shell to run the program. For example please check below
What error are you getting using that application ?
Emp.RESET;
Emp.SETRANGE("Employee No.",No);
Emp.SETRANGE(Active,TRUE);
IF Emp.FIND('-') THEN
REPEAT
CLEAR(R_Contract);
CLEAR(FileManagement);
R_Contract.SetParam(No,TODAY);
R_Contract.SETTABLEVIEW(Emp);
//filename:='C:\Temp\PayList-'+T_Employee."First Name"+' '+T_Employee."Last Name"+'.pdf';
// filename:='\\HR\c\NAV2016\Platna Lista-'+Emp."First Name"+' '+Emp."Last Name"+'.pdf';
filename:='C:\Temp\'+Emp."Employee No."+'.pdf';
filename2:='C:\Temp\1031.pdf';
R_Contract.SAVEASPDF(filename);
FileManagement.DownloadToFile(filename,filename);
IFi:='"'+filename+'"'+',';
OFi:='"'+filename2+'"';
MergePDFFiles(IFi+OFi,'C:\Temp\Result.pdf');
UNTIL Emp.NEXT=0;
CLEAR(WshShell);
HRSetup.GET;
CMD_LineTxt:=STRSUBSTNO('%1 output=%2 input=%3',HRSetup."PDF Merge Tool",OutputFileName,InputFileName);
dumyInt:=0;
runMod:=FALSE;
CREATE(WshShell,FALSE,TRUE);
WshShell.Run(CMD_LineTxt);
SLEEP(3000);
CLEAR(WshShell);
This is code i used but it doesn't work. I have problem with pdfmerge application. If you could propose some application that will resolve my problem.
I am not sure if you can print that but you can use an utility called PDF merge to merge two files after you saving your report into PDF