已验证正常,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文件,更多内容其他格式,请自行设置。

相关推荐
2601_966949653 小时前
如何根据研究的起止时间截取分钟级行情?Python 实战与 QuantDash 数据处理指南
开发语言·python·pandas·量化交易·1024程序员节·股票数据·quantdash
晨曦中的暮雨5 小时前
限流算法——固定窗口、滑动窗口、漏桶、令牌桶
java·开发语言·算法
喵了几个咪6 小时前
GoWind CMS 拆解:在 Go 里给 TipTap 搭一套 Yjs 协同后端
开发语言·后端·golang
程序员清风6 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
文丑颜不良啊6 小时前
LeetCode876~900题目解析
java·leetcode
aloha_7897 小时前
Java 基础、集合、异常与 JUnit 5 速查
java·junit·sqlserver
知守观8 小时前
设计模式实战:从真实老项目中看标准模板方法与工厂的落地
java·spring·设计模式
2601_962885728 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
独隅8 小时前
Claude API 实战教程:从入门到完整项目
android·java·数据库·claude·claude code
Wang's Blog8 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友