添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

itext 7 html to pdf css

iText 7 是一个用于创建和处理 PDF 文件的 Java 库。它提供了一种使用 CSS 的方法来转换 HTML 文件为 PDF。

要使用 iText 7 转换 HTML 到 PDF,您需要:

在项目中添加 iText 7 依赖。

使用 iText 的 HtmlConverter 类将 HTML 文件转换为 PDF。

示例代码:

import com.itextpdf.html2pdf.HtmlConverter;
// Convert HTML file to PDF
HtmlConverter.convertToPdf(new FileInputStream("input.html"), new FileOutputStream("output.pdf"));

您可以使用 iText 的 ConverterProperties 类来设置 CSS 文件的路径,以便在转换时应用样式:

import com.itextpdf.html2pdf.HtmlConverter;
import com.itextpdf.html2pdf.resolver.font.DefaultFontProvider;
import com.itextpdf.html2pdf.css.media.MediaDeviceDescription;
import com.itextpdf.html2pdf.css.media.MediaType;
import com.itextpdf.html2pdf.css.parse.CssTextNode;
import com.itextpdf.html2pdf.css.parse.CssTextNodeFactory;
import com.itextpdf.html2pdf.css.parse.CssTextNodeFactoryImpl;
import com.itextpdf.html2pdf.css.parse.token.CssTokenType;
// Set up CSS file path
ConverterProperties properties = new ConverterProperties();
properties.setCssApplierFactory(new DefaultCssApplierFactory() {
    @Override
    public ICssApplier getCustomCssApplier(IElementNode tag) {
        if (tag.name().equals("table")) {
            return new TableCssApplier();
        return null;
// Set up media device description
MediaDeviceDescription mediaDeviceDescription = new MediaDeviceDescription(MediaType.PRINT);
mediaDeviceDescription.setWidth(612).setHeight(792).setDpi(72);
properties.setMediaDeviceDescription(mediaDeviceDescription);
// Set up CSS text node factory
CssTextNodeFactory cssTextNodeFactory = new CssTextNodeFactoryImpl();
properties.setCssTextNodeFactory(cssTextNodeFactory);
// Convert HTML file to PDF
HtmlConverter.convertToPdf(new FileInputStream("input.html"), new FileOutputStream("output.pdf"), properties);
        Vue.js