提问者:小点点

飞碟-超文本标记语言PDF和许可(iText)


我正在编写代码将超文本标记语言转换为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>

我让它工作。我能看到的唯一方法是使用ITextRender。不幸的是,这看起来像是iText 5,它需要AGPL许可证,或者支付大笔许可费。

在我看来很清楚,根据这个许可证:https://github.com/flyingsaucerproject/flyingsaucer/blob/master/LICENSE

这是否正确?

还有其他不需要iText(或许可软件)的方法吗?

我试过Apache PDFBox,但它是如此低级,我不确定这是否可能。我知道这并不容易。超文本标记语言-

OpenPDF看起来有点弱。

任何想法/建议?

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

谢谢。


共1个答案

匿名用户

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

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

可用的工件有:

  • org. xhtmlrender:飞碟核心-核心库和Java2D渲染
  • org. xhtmlrenderer-pdf-使用iText 2.x的PDF输出
  • org. xhtmlrender:fly-saucer-pdf-itext5-使用iText 5.xPDF输出
  • org. xhtmlrender:fly-saucer-pdf-openpdf-使用OpenPDFPDF输出
  • org. xhtmlrender:飞碟-swt-SWT输出
  • org. xhtmlrender:fly-saucer-log4j-log4j的日志记录插件

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

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