无法导入HTMLConverter

我有一个现有的Java项目,我需要在其中创建一个PDF . 我需要HTMLConvertor将HTML转换为PDF,然后使用PDFReader和PDFStamper将内容添加到各个字段(getAcroFields) .

所以我使用iText 5.5.12,我无法导入HTMLConverter . 这个版本不支持吗?我找不到有关这些版本的文档 . 我尝试了以下但没有奏效 . 我试图将iText 7添加为Maven的新库,但是版本直到5.5.12可用 .

我是Intellij的新手,那么如何安装支持HTMLConverter的iText版本呢?

提前致谢!

回答(2)

2 years ago

你写:

我尝试将iText 7添加为Maven的新库,但版本直到5.5.12可用 .

那是错的 . 请参阅iText网站上的安装说明:https://developers.itextpdf.com/itext7/download-and-install-information/Java

在POM文件中复制粘贴:

<dependencies>

    <!-- always needed -->
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>kernel</artifactId>
        <version>7.0.4</version>
    </dependency>

    <!-- always needed -->
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>io</artifactId>
        <version>7.0.4</version>
    </dependency>

    <!-- always needed -->
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>layout</artifactId>
        <version>7.0.4</version>
    </dependency>

    <!-- only needed for forms -->
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>forms</artifactId>
        <version>7.0.4</version>
    </dependency>

    <!-- only needed for PDF/A -->
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>pdfa</artifactId>
        <version>7.0.4</version>
    </dependency>

    <!-- only needed for digital signatures -->
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>sign</artifactId>
        <version>7.0.4</version>
    </dependency>

    <!-- only needed for barcodes -->
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>barcodes</artifactId>
        <version>7.0.4</version>
    </dependency>

    <!-- only needed for Asian fonts -->
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>font-asian</artifactId>
        <version>7.0.4</version>
    </dependency>

    <!-- only needed for hyphenation -->
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>hyph</artifactId>
        <version>7.0.4</version>
    </dependency>

</dependencies>

为了能够使用pdfHTML插件,您需要添加以下内容:

<repositories>
  <repository>
    <id>itext</id>
    <name>iText Repository - releases</name>
    <url>https://repo.itextsupport.com/releases</url>
  </repository>
</repositories>

这是暂时的,因为目前pdfHTML是封闭源而不是Maven Central,但在接下来的几周内它将很快成为开源 .

您将需要pdfHTML的许可证密钥,30天试用或购买,然后将其添加到您的POM:

<dependencies>


  <!-- pdfHTML -->
  <dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>html2pdf</artifactId>
    <version>1.0.1</version>
  </dependency>

  <!-- iText 7 License Key Library -->
  <dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itext-licensekey</artifactId>
    <version>2.0.4</version>
  </dependency>

</dependencies>

2 years ago

HtmlConverter 类是iText 7的附加组件 . 它不适用于iText 5.事实上,iText是从头开始重写的,以使 HtmlConverter 成为可能 . 有关历史概述,请参阅introduction to the HTML to PDF tutorial

2016年,我们发布了iText 7,这是一个全新版本的iText,不再与以前的版本兼容,但它是在考虑pdfHTML的情况下创建的 . 在新的Renderer框架上花了很多工作 . 使用iText 7创建文档时,会构建一个渲染器树及其子渲染器 . 遍历该树创建布局,这种方法在处理HTML到PDF转换时更适合 . iText对象经过全面重新设计,可以更好地匹配HTML标记,并允许设置样式“CSS方式” .

您可以按照下载说明下载iText 7:iText 7 for Java

至于pdfHTML,第一个版本是在关于这样一个事实的长期争论之后开发的:太多的第三方开发人员在分发的应用程序中无需使用AGPL软件(作为二进制或SaaS上下文)作为闭源软件 . 决定使一些附加组件闭源以创建意识,并避免我们必须起诉(参见this presentation中的幻灯片8到62) .

与此同时,我们已获得批准制作pdfHTML开源(AGPL),但新版本发布前需要几周时间 . 在此期间,您可以在购买许可证之前注册以获得30-day trial .