Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

itextpdf html转pdf

作者:伱的精力病康复了?   发布日期:2026-01-16   浏览:93

import com.itextpdf.html2pdf.ConverterProperties;
import com.itextpdf.html2pdf.HtmlConverter;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.font.FontProvider;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class HtmlToPdfExample {

    public static void main(String[] args) {
        try {
            // 输入HTML文件路径
            String htmlPath = "input.html";
            // 输出PDF文件路径
            String pdfPath = "output.pdf";

            // 创建输出流
            PdfWriter writer = new PdfWriter(pdfPath);
            // 创建转换属性对象
            ConverterProperties properties = new ConverterProperties();
            // 设置字体提供者,确保支持中文等特殊字符
            FontProvider fontProvider = new FontProvider();
            fontProvider.addStandardPdfFonts(); // 添加标准PDF字体
            fontProvider.addDirectory("path/to/your/font/directory"); // 添加自定义字体目录
            properties.setFontProvider(fontProvider);

            // 执行HTML到PDF的转换
            HtmlConverter.convertToPdf(new FileInputStream(htmlPath), writer, properties);

            System.out.println("转换完成!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

代码解释说明:

  1. 导入依赖

    • com.itextpdf.html2pdf.ConverterPropertiescom.itextpdf.html2pdf.HtmlConverter:用于将HTML转换为PDF的核心类。
    • com.itextpdf.kernel.pdf.PdfWriter:用于创建PDF文件的写入器。
    • com.itextpdf.layout.font.FontProvider:用于管理字体,确保PDF中能够正确显示特殊字符(如中文)。
  2. 设置输入输出路径

    • htmlPath:指定要转换的HTML文件路径。
    • pdfPath:指定生成的PDF文件路径。
  3. 创建输出流和转换属性

    • PdfWriter writer = new PdfWriter(pdfPath);:创建一个PDF写入器,指向目标PDF文件。
    • ConverterProperties properties = new ConverterProperties();:创建转换属性对象,用于配置转换过程中的各种参数。
    • FontProvider fontProvider = new FontProvider();:创建字体提供者,确保PDF中能够正确显示特殊字符。
    • fontProvider.addStandardPdfFonts();:添加标准PDF字体。
    • fontProvider.addDirectory("path/to/your/font/directory");:添加自定义字体目录,确保支持更多字符集(如中文)。
  4. 执行转换

    • HtmlConverter.convertToPdf(new FileInputStream(htmlPath), writer, properties);:使用HtmlConverter类将HTML文件转换为PDF文件,并应用之前设置的转换属性。
  5. 异常处理

    • 使用try-catch块捕获并处理可能的IO异常。

注意事项:

  • 确保你已经在项目中引入了iText库,可以通过Maven或Gradle等方式添加依赖。
  • 如果需要支持中文等特殊字符,请确保提供了正确的字体文件路径。

上一篇:html页面布局

下一篇:html 格式化 在线

大家都在看

静态html源码

404 html

ios打开html

nginx访问不到html

html 符号

colspan在html中是什么意思

怎么将网页另存为html

xml转html

html时间代码

html localstorage

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站