用 flying saucer 生成pdf文件 Css及html的问题

xiaochun023 2010-01-04 12:31:37
我用 flying saucer 生成PDF文件,因为要生成文章,而文章是由tinymce发布的。可能有些文章发布出去后格式有问题,比如说标签不规范,有的没有闭合。

这样 flying saucer 就会报错
org.xhtmlrenderer.util.XRRuntimeException: Can't load the XML resource (using TRaX transformer). org.xml.sax.SAXParseException: The entity "nbsp" was referenced, but not declared.
org.xhtmlrenderer.resource.XMLResource$XMLResourceBuilder.createXMLResource(XMLResource.java:191)
org.xhtmlrenderer.resource.XMLResource.load(XMLResource.java:71)

最让人头疼的是这个xhtmlrenderer不认   连这个空格他都不认识,我真是郁闷了。这还让人活吗?

如何可以忽略 文章内容里面的代码不规范?

String url=webappDomain+"/pdfView.do";
String outputFile = webappRoot+"/download/xxx/"+pdfPath+"/";
File f = new File(outputFile);
if(!f.exists()) {
f.mkdirs();
}
outputFile +=diaryBookName+".pdf";
OutputStream os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument("http://localhost:8080/pdfView.do");

// 解决中文支持问题
ITextFontResolver fontResolver = renderer.getFontResolver();
if(webappDomain.indexOf("ai9475") > -1) {
fontResolver.addFont("/usr/share/fonts/chinese/TrueType/SimSun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
}else {
fontResolver.addFont("C:/Windows/fonts/SimSun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
}


// 解决图片的相对路径问题
// renderer.getSharedContext().setBaseURL("file:/E:/");

renderer.layout();
renderer.createPDF(os);

os.close();
...全文
915 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
software119 2011-06-19
  • 打赏
  • 举报
回复
求解决啊
shenjianvenus 2010-12-07
  • 打赏
  • 举报
回复
楼主的问题解决了吗!我现在也报这样的错了很郁闷!
mogui369 2010-10-17
  • 打赏
  • 举报
回复
网页最开始忘记声明 dtd了。
doublelin520 2010-08-03
  • 打赏
  • 举报
回复
不错,,学习了,
arthurcsh 2010-01-07
  • 打赏
  • 举报
回复
我也想知道

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧