问题描述
如果您有任何想法,可以请您帮助我们解决此问题。
我已经尝试了HTML到PDF转换逻辑的独立应用程序,并且HTML具有一些特殊字符(Ω,ω),因为我在HTML到PDF转换程序中添加了一些字体(AppliMincho,Arial Unicode MS)。 / p>
在Linux中使用jboss 6.4可以正常工作,并且配置的字体已嵌入到PDF中。
在使用jboss 7.1及更高版本的linux中它不能正常工作,并且配置的字体未嵌入PDF中。
在使用jboss 7.1及更高版本的Windows中,它运行良好,并且配置的字体未嵌入PDF中。
注意:对于HTML到PDF的转换,我已经尝试过这些API(飞碟PDF,OpenHtmlToPdf),这两个api均在“ PdfBox” API上运行,因此两种方法给出的结果相同。
请完善我编写的程序。
@WebServlet("/NewServlet")
public class NewServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request,HttpServletResponse response) throws servletexception,IOException {
String htmlString = "";
try {
BufferedReader in = new BufferedReader(new FileReader("/opt/Network/MetaData/html-cps.html"));
String str;
while ((str = in.readLine()) != null) {
htmlString +=str;
}
in.close();
} catch (IOException e) {
}
HtmlCleaner cleaner = new HtmlCleaner();
TagNode roottagNode = cleaner.clean(htmlString);
CleanerProperties cleanerProperties = cleaner.getProperties();
XmlSerializer xmlSerializer = new PrettyXmlSerializer(cleanerProperties);
String cleanedHtml = xmlSerializer.getAsstring(roottagNode);
try {
renderPDF(cleanedHtml,new FileOutputStream("/opt/Network/MetaData/NewHtmlToPdf.pdf"));
} catch (Exception e) {
}
}
private static void renderPDF(String html,OutputStream outputStream) throws Exception {
try {
PdfRendererBuilder builder = new PdfRendererBuilder();
builder.buildPdfRenderer().getFontResolver().addFont(new File("/opt/Network/MetaData/Arial Unicode MS.ttf"),"Arial Unicode MS",12,IdentValue.ABSOLUTE,true);
builder.withHtmlContent(html,"/opt/Network/MetaData/Test");
builder.toStream(outputStream);
builder.run();
} finally {
outputStream.close();
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)