2015-11-13 4 views
0

В моем проекте мне нужно преобразовать docx в pdf. Чтобы преобразовать docx в pdf, я запускаю файл bat с помощью объекта processbuilder. Он работает в моей локальной среде, но не работает на серверной машине, и в то же время он не бросает никаких исключений. Ниже мой код.Преобразование Docx в Pdf не работает в серверной машине

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     try{ 

     String path = "C:\\selva\\"; 
     String arg1 = "C:\\kumar\\a.docm"; 
     String command = "cmd.exe /c start " + path + "runner.bat "+arg1; 



     String runCommand=path + "runner.bat"; 


     ProcessBuilder pb = null; 

     pb = new ProcessBuilder(runCommand, arg1); 
     pb.redirectErrorStream(true); 
     pb.start(); 


     response.sendRedirect("/GENERATEPDFFROMDOCX/genPDF.jsp"); 
     }catch(Exception ex){ 
      ex.printStackTrace(); 
     } 
    } 

Runner.bat

echo %1 
"C:\Program Files\Microsoft Office 15\root\office15\winword.exe" /mExportToPDFext %1>ONE.TXT 

Local Machine Log: 
C:\Users\Selva\Desktop\eclipse>echo C:\kumar\a.docm 
C:\kumar\a.docm 

C:\Users\Selva\Desktop\eclipse>"C:\Program Files\Microsoft Office 15\root\office15\winword.exe" /mExportToPDFext C:\kumar\a.docm 1>ONE.TXT 

Error Code is 0 
Process Finished 
Server Log: 
C:\Program Files\Apache Software Foundation\Tomcat 8.0>echo C:\kumar\a.docm 
C:\kumar\CarLoanAgreement.docm 

C:\Program Files\Apache Software Foundation\Tomcat 8.0>"C:\Program Files\Microsoft Office 15\root\office15\winword.exe" /mExportToPDFext C:\kumar\a.docm 1>ONE.TXT 
The process cannot access the file because it is being used by another process. 

Error Code is 1 
Process Finished 

Что случилось с выше код?

ответ

0

В вашем коде вы жестко кодируете некоторые пути к некоторому программному обеспечению.

Наиболее вероятные причины, почему это не работает на сервере являются:

  • сервер использует другой тип ОС
  • путь не присутствует на сервере
  • программного обеспечения, которое преобразует документ не установлено
  • пользователь, выполняющий веб-приложение на сервере, не имеет разрешений выполнить что-либо
Смежные вопросы