我正在寻找一种使用Java库(最好是免费的)将HTML文件转换为PDF的方法。我已经在网上进行了一些搜索以查找要使用的工具,但是还没有找到一种能持续使用的解决方案(我曾提到过iText,但看起来使用它会产生一定的费用)。是否可以使用现有的库来完成HTML到PDF的转换?
更新:
我最终从Maven回购中使用了Flying-Saucer:https://mvnrepository.com/artifact/org.xhtmlrenderer/flying-saucer-pdf
让它对我来说很简单,这是我使用此方法创建的一种方法:
public static void generatePDF(String inputHtmlPath, String outputPdfPath)
{
try {
String url = new File(inputHtmlPath).toURI().toURL().toString();
System.out.println("URL: " + url);
OutputStream out = new FileOutputStream(outputPdfPath);
//Flying Saucer part
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(url);
renderer.layout();
renderer.createPDF(out);
out.close();
} catch (DocumentException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
这是用法:
public static void main(String[] args){
String inputFile = "C:/Users/jrothst/Desktop/TestHtml.htm";
String outputFile = "C:/Users/jrothst/Desktop/TestPdf.pdf";
generatePDF(inputFile, outputFile);
System.out.println("Done!");
}
Run Code Online (Sandbox Code Playgroud)
输出PDF效果很好,并且使用非常简单。它还很好地处理了html中的CSS。并未将其用于外部CSS,但我相信这也是可能的。
您有几种选择:
| 归档时间: |
|
| 查看次数: |
24528 次 |
| 最近记录: |