最近在win2008的服务器上写了一段自动执行的代码,定时将一个文件夹中的word转换为pdf,在服务器上测试过了是没问题的,
远程桌面连接服务器也测试过了是没问题的,但每次查看日志文件发现服务器没有终端连接时,由ps生成pdf那一步总是无法完成,
请大家帮忙。
。。。其它代码省略
public void docToPDF(String sourceFilePath, String destinPSFilePath,
String destinPDFF0ilePath) {
if (!openWord(sourceFilePath)) {
closeWord(true);
return;
}
ActiveXComponent distiller = new ActiveXComponent(
"PDFDistiller.PDFDistiller.1");
try {
wordCom.setProperty("ActivePrinter", new Variant("Adobe PDF"));
Variant Background = True;
Variant Append = False;
int wdPrintAllDocument = 0;
Variant Range = new Variant(wdPrintAllDocument);
Variant OutputFileName = new Variant(destinPSFilePath);
Dispatch.callN(wordDoc, "PrintOut", new Variant[] {
Background, Append, Range, OutputFileName });
System.out.println("由word文档转为ps文档成功!");//这一句执行了,确实也生出了ps文件
Variant inputPostScriptFilePath = new Variant(destinPSFilePath);
Variant outputPDFFilePath = new Variant(destinPDFF0ilePath);
Variant PDFOption = new Variant("");
//下面这一步总是不执行
Dispatch.callN(distiller, "FileToPDF", new Variant[] {inputPostScriptFilePath, outputPDFFilePath, PDFOption });
System.out.println("由ps文档转换为pdf文档成功!"); //这一句执行了
} catch (Exception ex) {
ex.printStackTrace(); //没报错
} finally {
closeWord(true);
}
}
。。。其它代码省略