【java】将PDF转成字符串
背景
我们在日常编程中,可能会遇到,无法直接传送PDF文件的情况,这就需要将PDF转成字符串。待接收方收到字符串再将字符串转成PDF文件。
代码
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;public class PdfToBinaryUtil {static BASE64Encoder encoder = new BASE64Encoder();static BASE64Decoder decoder = new BASE64Decoder();public static void main(String[] args) {String base64String = getPDFBinary("q.pdf");System.out.println(base64String);//FileTool.writeStringToFile(base64String, "1.txt");//FileTool可参考https://blog.csdn.net/Kangyucheng/article/details/86981414base64StringToPDF(base64String, "1.pdf");}public static String getPDFBinary(String filePath) {File file = new File(filePath);try {FileInputStream fileInputStream = new FileInputStream(file);BufferedInputStream bufferInputStream = new BufferedInputStream(fileInputStream);ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();BufferedOutputStream bout = new BufferedOutputStream(byteArrayOutputStream);byte[] buffer = new byte[1024];int len = bufferInputStream.read(buffer);while (len != -1) {bout.write(buffer, 0, len);len = bufferInputStream.read(buffer);}bout.flush();byte[] bytes = byteArrayOutputStream.toByteArray();bufferInputStream.close();return encoder.encodeBuffer(bytes).trim();} catch (Exception e) {e.printStackTrace();}return null;}public static void base64StringToPDF(String base64String, String newFile) {try {byte[] bytes = decoder.decodeBuffer(base64String);ByteArrayInputStream bais = new ByteArrayInputStream(bytes);BufferedInputStream bin = new BufferedInputStream(bais);File file = new File(newFile);FileOutputStream fout = new FileOutputStream(file);BufferedOutputStream bout = new BufferedOutputStream(fout);byte[] buffers = new byte[1024];int len = bin.read(buffers);while (len != -1) {bout.write(buffers, 0, len);len = bin.read(buffers);}bout.flush();bout.close();} catch (Exception e) {e.printStackTrace();}}}
输出:
节选最后几行
MDAwMDAgbg0KMDAwMDgwNDEyNSAwMDAwMCBuDQowMDAwODA0NDY1IDAwMDAwIG4NCjAwMDA4MDQ3 MzUgMDAwMDAgbg0KMDAwMDgwNDk2MyAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDQ4MC9Sb290 IDEgMCBSL0luZm8gODkgMCBSL0lEWzxGQkUzQUE2MUI2RDk2MDQwQTQwMTUwNjI0OEQ5RjY5Qj48 RkJFM0FBNjFCNkQ5NjA0MEE0MDE1MDYyNDhEOUY2OUI+XSA+Pg0Kc3RhcnR4cmVmDQo4MDYyNjAN CiUlRU9GDQp4cmVmDQowIDANCnRyYWlsZXINCjw8L1NpemUgNDgwL1Jvb3QgMSAwIFIvSW5mbyA4 OSAwIFIvSURbPEZCRTNBQTYxQjZEOTYwNDBBNDAxNTA2MjQ4RDlGNjlCPjxGQkUzQUE2MUI2RDk2 MDQwQTQwMTUwNjI0OEQ5RjY5Qj5dIC9QcmV2IDgwNjI2MC9YUmVmU3RtIDgwNDk2Mz4+DQpzdGFy dHhyZWYNCjgxNjAyMA0KJSVFT0Y= |
【java】将PDF转成字符串相关推荐
- java将PDF转成字符串_【java】将PDF转成字符串
背景 我们在日常编程中,可能会遇到,无法直接传送PDF文件的情况,这就需要将PDF转成字符串.待接收方收到字符串再将字符串转成PDF文件. 代码 import java.io.BufferedInpu ...
- java中pdf转html框架,java实现pdf转成html
java实现pdf转成html [2021-02-09 16:26:32] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(" ...
- java对pdf分割_Java如何使用Java将PDF分割成多个文档?
在Java编程中,如何使用Java将PDF分割成多个文档? 以下是使用Java将PDF文档页面分割成多个文档的示例程序. package com.yiibai; import org.apache.p ...
- java简易pdf转换成doc
java转换pdf文档需要用到 pdfbox 的类库(用于读取和创建PDF文档) 代码如下: String pdf = " < 所要转换的文档位置 > .pdf";tr ...
- java将属性练成字符串,Java中通过属性字符串名取属性内容
在Android开发当中资源的获取其实是间接通过R文件进行的,这个R文件就相当于是一个地址列表,存放着每个资源的地址 那么如何快速高效的获取就是这篇文章要分析的问题 假设我们有一个图片资源叫btn_b ...
- java类对象转化成字符串_String类型字符串(xml格式)转换成java对象类型
使用到的包: 1. 2. 将字符串类型的字符串转换成的Java的对象时,需要先将字符的格式转换成JSON格式的字符串(所以用到了json.jar包),在使用JSON格式的字符串转换成的Java的对象类 ...
- java中pdf写成base64文件流,Java操作pdf文件与Base64编码相互转换与文件流操作
1.第一步,引入bc包的安装依赖. 在pom.xml中引入. org.bouncycastle bcprov-jdk15on 1.60 引入后reimport一下项目. 2.pdf文件转换成Base6 ...
- Java把数字翻译成字符串
给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 翻译成 "l",--,25 翻译成 & ...
- java 将pdf转换成word_java如何实现pdf转word?
Atitit pdf转文本 pdfutil java -jar C:\Users\attilax\Pictures\pdfbox-app-2.0.9.jar ExtractText "C:\ ...
最新文章
- Qt pro使用sql之类的需要添加的模块
- Distributed Systems-leader based分布式一致性协议
- JAVA编写的7个规范
- Cross-Validation(交叉验证)详解
- SAP Spartacus 会使用 Session timeout 吗?
- 数据结构——用栈解决回文字符问题
- jsf 自定义属性_必填字段的自定义JSF验证器
- CNG 关于 Key 相关的操作
- 中国企业2017年数据_根据数据,2017年最好的免费在线课程
- SQLSERVER查询数据库所有表名及行数
- access用扫描枪输入_工业级高精度扫描枪适用在哪些环境
- 计算机网络实验-路由器IP地址配置及直连网络和ARP协议分析
- mapreduce流量统计与自定义分区算法:手机号码按归属地输出
- html class生效顺序,HTML5 CSS3小猪日历(动物挂历)
- L130被围绕的区域
- 2.4 放大电路静态工作点的稳定
- WITH AS的用法
- 美国股市入门一:基本概念介绍
- 教育小程序源码包含哪些功能?
- 动漫的python语言代码_由Python编写的全异步实现的动漫之家(dmzj)漫画批量下载器(爬虫)...
热门文章
- linux开机自动启动(自启动)脚本、程序(初始化脚本)(海康摄像头自启动程序)
- 进程间通信 IPC 的本地过程调用 LPC(Local Procedure Call)和远程过程调用 RPC(Remote Procedure Call)
- xftp传输文件错误解决办法
- web前端入门学习 css(3)(背景相关)
- python PyQt5 QtWidgets.QWidget.size()函数 QSize
- 质数,约数(数论) AcWing算法课
- mstem函数怎么定义_PYTHON--函数定义
- 引入antd组件样式_如何使用 dumi 和 fatherbuild 创建组件库
- 利用matlab命令画出以下信号的波形,MATLAB实验报告
- 翻牌游戏如何打乱牌面java_剑仙登上虎牙封面C位,成为新的牌面,虎牙造星能力真的强...