飞碟 - HTML到PDF和许可(iText)

yng*_*ger 5 java pdf-generation itext flying-saucer pdfbox

我正在编写代码将HTML转换为PDF,其中包括以下2个依赖项:

    <dependency>
        <groupId>org.xhtmlrenderer</groupId>
        <artifactId>flying-saucer-core</artifactId>
        <version>9.1.6</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>org.xhtmlrenderer</groupId>
        <artifactId>flying-saucer-pdf-itext5</artifactId>
        <version>9.1.6</version>
        <scope>compile</scope>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

我有它的工作.我能看到的唯一方法就是使用ITextRenderer.不幸的是,看起来这是iText 5,它需要AGPL许可证,或支付大量许可费.

基于此许可证,我似乎很清楚:https://github.com/flyingsaucerproject/flyingsaucer/blob/master/LICENSE

它是否正确?

有没有其他方法可以做到这一点,不需要iText(或许可软件)?

我已经尝试过Apache PDFBox,但它的级别太低了,我不确定它是否可行.我知道这并不容易.HTML - > PDF肯定是不可能的.

OpenPDF看起来有点弱.

有什么想法/建议?

这是我们项目(启动)的一小部分,因此许可软件不是首选.

谢谢.

Dar*_*idl 11

截至今天,有三种飞碟实现可用,其中之一是 OpenPDF。

引用他们的自述文件(强调我的):

可用的工件是:

  • org.xhtmlrenderer:flying-saucer-core - 核心库和 Java2D 渲染
  • org.xhtmlrenderer:flying-saucer-pdf - 使用 iText 2.x 的 PDF 输出
  • org.xhtmlrenderer:flying-saucer-pdf-itext5 - 使用 iText 5.x 的 PDF 输出
  • org.xhtmlrenderer:flying-saucer-pdf-openpdf - 使用 OpenPDF 的 PDF 输出
  • org.xhtmlrenderer:flying-saucer-swt - SWT 输出
  • org.xhtmlrenderer:flying-saucer-log4j - log4j 的日志插件

iText 2.x 有未修复的安全漏洞。新项目应该避免它。

OpenPDF 和飞碟本身都在 LGPL 下获得许可。因此,您flying-saucer-pdf-openpdf现在可以使用来避免 iText 2 的安全问题和 iText 5 的许可问题。