We are currently developing a PHP web application hosted on a Windows server. We are looking for a solution to merge MS Word documents into a single PDF document. This must be done using a PHP script.
The steps would be:
1) User provides date range for Word documents
2) Database returns file paths of Word documents within that range
3) PHP provides file path list to merge software
4) Software creates a PDF file, stores it on the server and returns the PDF file’s path
5) PHP will provide a link to the user to download the PDF file
Would we be able to use your software in the scenario described?
Please download our DOC to Any Converter from following web page to try,
doc2any.exe -append 1 C:\in.doc C:\out.pdf
doc2any.exe -append 2 C:\in.doc C:\out.pdf
doc2any.exe -append 2 C:\*.doc C:\out.pdf
you can use "-append" parameter to append a DOC file to an existing PDF file properly, you can also call above command lines from PHP code to append DOC files to PDF file.
We downloaded the doc2any converter as you suggested. After a lot of messing around, I finally got most of it to work. Now the only problem I have is that the program no longer appends to existing PDFs. I'm pretty sure it is probably a permission issue but I can't for the life of me figure out where the problem is. So I decided to see if you guys encountered any situation like the one I have.
Here is some of the info on the server. It's a Windows 2000 server running IIS5
The RunAs service is disabled and our security people don't want me to enable it.
I have an IWAM user that is part of the Users group
I have a doc2AnyAuto user part of the Administrator group
I had to manually create the printer because I can only access the system through a remote access. But I know that works because I am able to run the software directly in the command prompt
I also had to do the DCOMCNFG bit so WINWORD has Everyone in the Access permission and the identity points to the doc2AnyAuto
The folder where my pdf files are created have write access.
If I run my php script :
echo shell_exec("doc2any.exe -useoffice 1 -useprinter -append 0 minutes1.doc pdf_minutes/temp.pdf");
echo shell_exec("doc2any.exe -useoffice 1 -useprinter -append 2 minutes2.doc pdf_minutes/temp.pdf");
echo shell_exec("doc2any.exe -useoffice 1 -useprinter -append 2 minutes3.doc pdf_minutes/temp.pdf");
I get this result
You have 259 time to evaluate this product, you may purchase a full version from http://www.verypdf.com. Conversion time = 1672ms minutes1.doc ==> pdf_minutes/temp.pdf, result=OK TickCount = 1687ms(1.69s), Result = 1 TickCount = 1687ms(1.69s), Result = 1
You have 259 time to evaluate this product, you may purchase a full version from http://www.verypdf.com. Conversion time = 1266ms minutes2.doc ==> pdf_minutes/temp.pdf, result=OK TickCount = 1266ms(1.27s), Result = 1 TickCount = 1266ms(1.27s), Result = 1
You have 259 time to evaluate this product, you may purchase a full version from http://www.verypdf.com. Conversion time = minutes3.doc ==> pdf_minutes/temp.pdf, result=OK TickCount = 797ms(0.80s), Result = 1 TickCount = 797ms(0.80s), Result = 1
(I removed the paths for simplicity)
First, the counter doesn't drop, it stays at 259 and the temp.pdf file only includes what is in the 1st file.
Now the reason I said I thought it was a permission issue was that if I put my IWAM user as an Administrator, everything works fine and all 3 files are merged into one.
Do you have any ideas as to what I could do to fix this?
Thanks for your message, yes, this problem is caused by permission issues, you may give enough permission to Word DCOM to try again, please look at following web page for more information,
also, in "Console Root / Component Services / Computers / My computer / DCOM Config" option, "Your COM Name" should equal to "Microsoft Office Word 97 – 2003 Document" in your system, please give enough permission to "Microsoft Office Word 97 – 2003 Document" DCOM in your system to try again, you can also run "Microsoft Office Word 97 – 2003 Document" DCOM from an interactive user account to solve the permission restrictions in default system account.