pdf转为txt文本格式并使用base64加密输出数据

第一步,pom.xml中引入jar包

XML 复制代码
        <dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>pdfbox</artifactId>
            <version>2.0.24</version>
        </dependency>

第二步

java 复制代码
package org.example.test.example.changefile;

import org.apache.pdfbox.pdmodel.PDDocument;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Base64;

public class ConvertPDFToBase64String {
    public static void main(String[] args) {
        String inputPdfPath = "C:\\Users\\EDY\\Desktop\\input.pdf"; // 输入PDF文件的路径
        String outputTxtPath = "C:\\Users\\EDY\\Desktop\\output.txt"; // 输出TXT文件的路径

        try {
            // 加载PDF文档
            try (PDDocument document = PDDocument.load(new File(inputPdfPath))) {
                // 创建字节输出流
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                // 将PDF文档写入字节输出流
                document.save(byteArrayOutputStream);
                // 获取PDF文档的字节数据
                byte[] pdfBytes = byteArrayOutputStream.toByteArray();

                // 使用Base64编码PDF字节数据
                String base64EncodedString = Base64.getEncoder().encodeToString(pdfBytes);

                // 将Base64编码的字符串写入TXT文件
                try (FileWriter writer = new FileWriter(outputTxtPath)) {
                    writer.write(base64EncodedString);
                }

                System.out.println("PDF file has been converted to Base64 string and saved to TXT file.");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
相关推荐
益达32118 分钟前
JDBC实战优化|从基础增删改查到连接池的完整演进(附性能对比)
java·intellij-idea
有一个好名字21 分钟前
Spring Boot 依赖注入指南:多种方式深度剖析与代码演示
java·服务器·spring boot
独自破碎E28 分钟前
说一下消息队列有哪些模型
java·开发语言
峥嵘life30 分钟前
2026 Android EDLA 认证相关资源网址汇总(持续更新)
android·java·学习
淘源码d42 分钟前
上门家政源码,基于Java/SpringBoot和Uniapp的全栈家政预约平台,支持多端适配(小程序/H5/APP)
java·vue.js·源码·家政·家政小程序源码·上门家政·家政平台
夏幻灵42 分钟前
[从零开始学JAVA|第一篇 ] 分清关键字 方法名 字面量 标识符
java·开发语言
小徐Chao努力44 分钟前
【Langchain4j-Java AI开发】03-提示词与模板
java·开发语言·人工智能
海南java第二人1 小时前
Spring Bean作用域深度解析:从单例到自定义作用域的全面指南
java·后端·spring
cike_y1 小时前
Spring5入门&IOC容器
java·开发语言·spring·jdk·ioc·jdk1.8