如何使用PDFBox在PDF文件中编写HTML内容

3

我想使用JAVA中的PDFBox将HTML内容写入PDF文件,应该怎么做?是否有一种方法可以添加HTML内容?虽然有不同的添加方法,但似乎无法添加HTML内容。


1
完全不行。PDFBox没有HTML解析器。 - Tilman Hausherr
这意味着我们必须使用其他API来在PDF中编写HTML。对吗? - Lalit Bhudiya
另一种工具,而不是另一个API。 - Tilman Hausherr
@LalitBhudiya 你解决了这些问题吗?每次我在东西方向上遇到你的问题。非常感谢你的回复 :) - chapskev
2个回答

2

截至2.0.6版本,pdfbox还没有HTML渲染支持。但是据说他们未来的版本会加入这个功能。


1
我没有听到那个。而且我应该知道,因为我是PDFBox的贡献者。 - Tilman Hausherr
@TilmanHausherr 我也找不到关于使用pdfbox将HTML写入PDF的文档或解决方案。 - chapskev
不支持此功能。有一些基于pdfbox的工具,如opdnhtmltopdf。 - Tilman Hausherr
Oops openhtmltopdf. - Tilman Hausherr

-3

你也可以使用IText来完成同样的事情,只需使用此代码。

import java.io.FileOutputStream;
import java.io.StringReader;

import com.lowagie.text.Document;
import com.lowagie.text.PageSize;
import com.lowagie.text.html.simpleparser.HTMLWorker;
import com.lowagie.text.pdf.PdfWriter;

public class Test {
  public static void main(String ... args ) {
    try {
      Document document = new Document(PageSize.LETTER);
      PdfWriter.getInstance(document, new FileOutputStream("E:\\yogesh\\test.pdf"));
      document.open();
      document.addAuthor("author");
      document.addSubject("subject");
      document.addCreationDate();
      document.addTitle("title");

      HTMLWorker htmlWorker = new HTMLWorker(document);
      String str = "<html><head></head><body>"+
        "<table border='1'><tr><td>Demo<td>" +
        "<td bgcolor='red'>DEMO<td></tr>DEMO</table>" +
        "</body></html>";
      htmlWorker.parse(new StringReader(str));
      document.close();
      System.out.println("Done");
      }
    catch (Exception e) {
      e.printStackTrace();
    }
  }
}

我知道可以使用iText来完成,但我想使用Apache PDFBox。 - Lalit Bhudiya
HTMLWorker已被弃用。 - Sh4m

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接