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();
        }
    }
}
相关推荐
折哥的程序人生 · 物流技术专研1 分钟前
《Java 100 天进阶之路》第50篇:阻塞队列与并发容器(2026版)
java·面试题·java进阶·blockingqueue·并发容器·集合源码·java100天进阶
ai_coder_ai19 分钟前
编写自动化脚本,在自己后端服务中使用Open Api进行设备相关操作
java·运维·自动化
硕风和炜38 分钟前
【LeetCode: 2492. 两个城市间路径的最小分数 + DFS】
java·算法·leetcode·深度优先·dfs·bfs·并查集
格子软件1 小时前
2026年GEO贴牌代理:分布式多级分账状态机源码深度解构
java·vue.js·分布式·vue·geo
我是一颗柠檬2 小时前
【Java项目技术亮点】加权轮询负载均衡算法
java·算法·负载均衡
灯厂码农2 小时前
C语言动态内存分配完全指南(malloc、calloc、realloc、free)
java·c语言·算法
梦梦代码精3 小时前
电商系统不是技术堆叠:LikeShop如何用分层Hold住复杂业务?
java·docker·代码规范
负责的蛋挞3 小时前
异步HttpModule的实现方式
java·服务器·前端
AC赳赳老秦3 小时前
防火墙规则批量配置实战:OpenClaw 自动生成模板、批量下发与合规性校验全解析
java·开发语言·人工智能·python·github·php·openclaw
Tian_Hang3 小时前
Eclipse Ditto 物模型相关代码
java·运维·服务器·ide·eureka·eclipse