public boolean printPdf()throws Exception
{
if(this.logger == null)
{
logger =Logger.getLogger(HtmlToPdf.class);
}
this.logger.debug("HtmlToPdf:" + _HtmlStr);
logger.info("Begin HtmlToPdf.printPdf");
if(this._HtmlStr.equals("")||this._outPutFilePath.equals(""))
{
return false;
}
try {
_renderer = new ITextRenderer();
OutputStream os=null;
try {
os = new FileOutputStream(this._outPutFilePath);
_renderer.setDocumentFromString(_HtmlStr);//在本地(tomcat服务器)运行此程序,会在此处卡死,weblog测试环境则可以正常转换。
// 解决图片的相对路径问题
if(this._myPDFCreationListener!=null)
{
_renderer.setListener(_myPDFCreationListener);
}
_renderer.getSharedContext().setBaseURL(_BaseURL);
_renderer.layout();
_renderer.setPageRorate(_isPageRotate);
_renderer.createPDF(os);
//os.close();
} catch (Exception e) {
this.logger.fatal(e.getMessage(),e);
throw e;
}
finally{
if(os != null) {
try {
os.close();
} catch (Exception e) {
}
}
}
} catch(Exception e) {
this.logger.fatal(e);
throw e;
}
return true;
}