【问题标题】:Create pdf from html using Flying Saucer, renderer issue使用飞碟从 html 创建 pdf,渲染器问题
【发布时间】:2013-05-14 20:48:00
【问题描述】:

我正在尝试使用 itext 创建一个 pdf,但在线上出现错误:

ItextRenderer renderer = new ITextRenderer();

错误是这样的:

05-20 12:00:48.468: E/AndroidRuntime(6121): java.lang.VerifyError: org/xhtmlrenderer/pdf/ITextOutputDevice

它创建文件,但文件是一个错误(大小为 0kb,无法打开)

private void HTMLtoPDF(){
    try{
         String outputFile = "sdcard/firstdoc.pdf";
         OutputStream os = new FileOutputStream(outputFile);

         ITextRenderer renderer = new ITextRenderer();
         renderer.setDocumentFromString(getHtmlBuffer().toString());
         renderer.layout();
         renderer.createPDF(os);
         renderer.finishPDF();
         os.close();
         }catch (Exception e) {
         e.printStackTrace();
         }
}
private StringBuffer getHtmlBuffer() {
    StringBuffer buff = new StringBuffer();
    buff.append("<html xmlns='http://www.w3.org/1999/xhtml'>");
    buff.append("<body>");
    buff.append("<h2 style='color: #353535;font-size: 16px;margin: 0px;padding: 20px 0px;font-weight: bold;'>Test</h2>");
    buff.append("<div id='news-details' class='news-details'>");
    buff.append("<div class='news-details-data'>");
    buff.append("some japanes charactors");
    buff.append("</div></div>");
    buff.append("</body></html>");
    return buff;
}

【问题讨论】:

  • 我遇到了同样的错误。任何想法如何使它在 Android 上运行?
  • @Tsunaze 你有没有找到任何其他的android 库来将html 转换为pdf !你是怎么解决你的问题的?

标签: android rendering flying-saucer


【解决方案1】:

我也在寻找一个 Android HTML 到 PDF 转换器,并研究了 Flying Saucer。我遇到了同样的问题,并注意到 Flying Saucer 不是 Android 库,而是 JAVA 库。它使用 Android 不可用的 Java 类(例如:java.awt.*),因此该 jar 无法在 Android 设备上运行。

【讨论】:

  • 有没有其他解决方案可以在android中将html转换为pdf!?
【解决方案2】:

正确格式化你的 HTML,我也有同样的问题.. itext 不接受未格式化的 HTML 字符串,您的 pdf 会损坏..

【讨论】:

  • 我确实改变了它以使事情变得更容易,但它仍然给我同样的错误。
猜你喜欢
  • 2019-02-04
  • 2012-05-06
  • 2014-08-13
  • 2012-07-13
  • 2017-02-25
  • 1970-01-01
  • 1970-01-01
  • 2013-04-09
  • 1970-01-01
相关资源
最近更新 更多