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();
        }
    }
}
相关推荐
砚底藏山河10 分钟前
拉数管道设计:从一次性脚本到可重启的数据流水线(魔码量化实战 #01)
java·数据库·python·金融·maven
饕餮争锋12 分钟前
PATH路径列表介绍
java·linux·服务器
SimonKing14 分钟前
一文终结 Java 路径加载争议:斜杠 什么时候该加,什么时候不该加
java·后端·程序员
Rain的Java大神之路32 分钟前
手写一个Spring容器
java·后端·mysql·spring·面试
小七在进步34 分钟前
C++入门(1)
java·jvm·c++
Wang's Blog41 分钟前
Java框架快速入门: Spring Security+OAuth2之定制登录页
java·开发语言·spring
霸道流氓气质42 分钟前
Spring AI vs Spring AI Alibaba:技术选型与平滑迁移策略
java·人工智能·spring
拽着尾巴的鱼儿1 小时前
Idea:Cannot Run Git 无法运行git
java·git·intellij-idea
编程_大白1 小时前
IDEA配置SQL方言
java·sql·intellij-idea
橘子汽水1681 小时前
Leetcode 128,49最长连续序列,字母异位词分组
java·算法·leetcode