已验证正常,Java输入字符串生成PDF文件

Java输入字符串生成PDF文件过程:

在Java开发中,如何将字符串转换为 PDF 是一个常见的需求。网上找了很多例子都无法生成,经过多次尝试,终于实现了,特此记录一下。

1、引入pom.xml 添加所需的依赖

XML 复制代码
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.5.5</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-asian</artifactId>
            <version>5.2.0</version>
        </dependency>

2、代码实现

java 复制代码
    public static void main(String[] args) {
        Document document = new Document();
        try {
            // 设置输出路径和文件名
            PdfWriter.getInstance(document,  new FileOutputStream("输出的PDF文件地址"));
            document.open();

            // 设置中文字体
            BaseFont baseFont = null;
            try {
                baseFont = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
            } catch (IOException e) {
                throw new RuntimeException(e);
            }


            // 添加标题
            Paragraph title = new Paragraph("标题内容", new Font(baseFont, 16, Font.BOLD));
            // 设置标题居中
            title.setAlignment(Paragraph.ALIGN_CENTER);

            document.add(title);

            // 添加内容
            String content = "正文内容";

            // 设置正文的格式
            Font font = new Font(baseFont, 13, Font.BOLD);
            Paragraph paragraph = new Paragraph(content, font);

            document.add(paragraph);

        } catch (DocumentException | IOException e) {
            e.printStackTrace();
        }finally {
            document.close();
        }
    }

3、结论

通过以上代码可以正常生成PDF文件,更多内容其他格式,请自行设置。

相关推荐
2501_945424808 分钟前
C++编译期矩阵运算
开发语言·c++·算法
yy我不解释12 分钟前
关于comfyui的mmaudio音频生成插件时时间不一致问题(三)
开发语言·python·ai作画·音视频·comfyui
2301_8154829314 分钟前
C++中的类型标签分发
开发语言·c++·算法
SuperEugene14 分钟前
Vue3 模板语法规范实战:v-if/v-for 不混用 + 表达式精简,避坑指南|Vue 组件与模板规范篇
开发语言·前端·javascript·vue.js·前端框架
xushichao198919 分钟前
代码生成优化技术
开发语言·c++·算法
leaves falling28 分钟前
C++类和对象(1)
开发语言·c++
2401_8732046533 分钟前
模板编译期循环展开
开发语言·c++·算法
我真会写代码36 分钟前
深度解析并发编程锁升级:从偏向锁到重量级锁,底层原理+面试考点全拆解
java·并发编程·
Meepo_haha41 分钟前
创建Spring Initializr项目
java·后端·spring
会编程的土豆42 分钟前
C++中的 lower_bound 和 upper_bound:一篇讲清楚
java·数据结构·算法