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

Java 如何使用PDFBox在PDF文件中编写HTML内容,java,pdfbox,Java,Pdfbox,我想用JAVA编写PDF格式的HTML内容,使用PDFBox。我怎么写呢?有什么方法可以添加HTML内容吗?有不同的添加方法,但无法添加HTML内容。您也可以使用IText执行相同的操作,请使用此代码 import java.io.FileOutputStream; import java.io.StringReader; import com.lowagie.text.Document; import com.lowagie.text.PageSize; import com.lowagie

我想用JAVA编写PDF格式的HTML内容,使用PDFBox。我怎么写呢?有什么方法可以添加HTML内容吗?有不同的添加方法,但无法添加HTML内容。

您也可以使用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();
    }
  }
}
import java.io.FileOutputStream;
导入java.io.StringReader;
导入com.lowagie.text.Document;
导入com.lowagie.text.PageSize;
导入com.lowagie.text.html.simpleparser.HTMLWorker;
导入com.lowagie.text.pdf.PdfWriter;
公开课考试{
公共静态void main(字符串…参数){
试一试{
文档=新文档(页面大小.字母);
getInstance(文档,新文件输出流(“E:\\yogesh\\test.pdf”);
document.open();
文件。添加作者(“作者”);
文件。添加主题(“主题”);
document.addCreationDate();
文件。添加标题(“标题”);
HTMLWorker HTMLWorker=新HTMLWorker(文档);
字符串str=“”+
“演示”+
“蠕形螨”+
"";
parse(新的StringReader(str));
document.close();
系统输出打印项次(“完成”);
}
捕获(例外e){
e、 printStackTrace();
}
}
}

您可以使用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();
    }
  }
}
import java.io.FileOutputStream;
导入java.io.StringReader;
导入com.lowagie.text.Document;
导入com.lowagie.text.PageSize;
导入com.lowagie.text.html.simpleparser.HTMLWorker;
导入com.lowagie.text.pdf.PdfWriter;
公开课考试{
公共静态void main(字符串…参数){
试一试{
文档=新文档(页面大小.字母);
getInstance(文档,新文件输出流(“E:\\yogesh\\test.pdf”);
document.open();
文件。添加作者(“作者”);
文件。添加主题(“主题”);
document.addCreationDate();
文件。添加标题(“标题”);
HTMLWorker HTMLWorker=新HTMLWorker(文档);
字符串str=“”+
“演示”+
“蠕形螨”+
"";
parse(新的StringReader(str));
document.close();
系统输出打印项次(“完成”);
}
捕获(例外e){
e、 printStackTrace();
}
}
}


从2.0.6开始,pdfbox中还没有html呈现支持。但是在他们未来的版本中,很少听说有关于此功能的承诺。

从2.0.6开始,pdfbox中还没有html呈现支持。但在他们未来的版本中,很少听说有关于此功能的承诺。

一点也没有。PDFBox没有HTML解析器。这意味着,我们必须使用其他api以PDF格式编写HTML。是吗?另一个工具,而不是另一个API。@LalitBhudiya这些问题你有解决方案吗,东西方我似乎总是回答你的问题。您的答复非常感谢:)一点也不感谢。PDFBox没有HTML解析器。这意味着,我们必须使用其他api以PDF格式编写HTML。是吗?另一个工具,而不是另一个API。@LalitBhudiya这些问题你有解决方案吗,东西方我似乎总是回答你的问题。非常感谢您的回复:)我知道,我可以使用iText,但我想使用Apache PDFBox.HTMLWorker不推荐使用。我知道,我可以使用iText,但我想使用Apache PDFBox.HTMLWorker不推荐使用。我没听说过。我应该知道,我是一名PDFBox提交者。@TilmanHausherr我似乎也找不到文档,或者不支持使用pdfboxIt将html写入pdf的解决方案。pdfbox上面有一些工具,比如opdnhtmltopdf.Oops openhtmltopdf。我没听说过。我应该知道,我是一名PDFBox提交者。@TilmanHausherr我似乎也找不到文档,或者不支持使用pdfboxIt将html写入pdf的解决方案。pdfbox上有一些工具,比如opdnhtmltopdf.Oops openhtmltopdf。