我们正在使用Adobe LiveCycle ConvertPDF服务转换大型PDF文件。
这适用于较小的PDF文件,但在我们尝试转换大型PDF文件时失败(大约150mb - 请不要问)。
看起来Adobe将事务超时设置为大约14(?)分钟。由于我们巨大的PDF的处理时间超过了这个时间,因此操作中止。 我们尝试了多个PDF,因此不太可能是输入文件损坏造成的。
这是异常产生的输出:
com.adobe.livecycle.convertpdfservice.exception.ConvertPdfException: ALC-DSC-000-000: com.adobe.idp.dsc.DSCException: Internal error.
at com.adobe.convertpdf.docservice.ConvertPdfServiceImpl.toPS2WithSMT(ConvertPdfServiceImpl.java:117)
at com.adobe.convertpdf.docservice.ConvertPdfServiceImpl.toPS2(ConvertPdfServiceImpl.java:93)
[...]
Caused by: ALC-DSC-000-000: com.adobe.idp.dsc.DSCException: Internal error.
at com.adobe.convertpdf.docservice.ConvertPdfServiceImpl$1.doInTransaction(ConvertPdfServiceImpl.java:110)
at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionBMTAdapterBean.doRequiresNew(EjbTransactionBMTAdapterBean.java:218)
[...]
Caused by: com.adobe.livecycle.convertpdfservice.exception.ConvertPdfException: Cannot convert PDF file to PostScript.
Exception: "Transaction timed out: Couldn't connect to Datamanager Service"
at com.adobe.convertpdf.ConvertPdfBmcWrapper.convertPdftoPs(ConvertPdfBmcWrapper.java:207)
at com.adobe.convertpdf.ConvertPdfServer.convertPdftoPs(ConvertPdfServer.java:121)
at com.adobe.convertpdf.docservice.ConvertPdfServiceImpl.toPS2InTxn(ConvertPdfServiceImpl.java:129)
[...]
到目前为止 - 似乎合乎逻辑。
但是,我找不到配置事务长度的位置。我想如果我们将超时时间增加到30分钟,我们的问题就会消失。 (如果我们在没有任何事务的情况下调用此操作,问题就会消失......)
假设我们只是像这样运行它:
ServiceClientFactory factory = com.adobe.idp.dsc.clientsdk.ServiceClientFactory.createInstance(connectionProps);
ConvertPdfServiceClient convertPDFClient = new com.adobe.livecycle.convertpdfservice.client.ConvertPdfServiceClient(factory);
// ... set-up details skipped ...
com.adobe.idp.Document result_postscript = convertPDFClient.toPS2(inPdf,options);
result_postscript.copyToFile(new File("c:/Adobe/output.ps"))
但是,要么我们没有正确设置ServiceClientFactory,要么可能没有正确读取JBoss配置,我们找不到让事务更长寿的方法。 (交易时间真的存在吗?)
答案 0 :(得分:1)
在LiveCycle管理控制台中,只需转到 主页>服务>应用和服务>服务管理> ConvertPdfService
可以在那里更改服务超时。
在转换pdf(由iText生成)进行测试时,包含39k页(13个初始,每个克隆3000次,大小约15Mb) - 最终输出的PostScript文件为~1,25Gb。整个工作大约需要2个小时。但它有效,没问题。
(我想这个答案会让问题与编程无关,但是嘿。)
答案 1 :(得分:1)
LiveCycle产品博客中的此条目也可能有所帮助: http://blogs.adobe.com/livecycle/2008/10/livecycle_processing_big_docum.html