gpt4 book ai didi

java - 从java中的二进制数据创建pdf

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:46:18 24 4
gpt4 key购买 nike

我从网络服务中获取这个字符串。

JVBERi0xLjQKMyAwIG9iago8PC9UeXBlIC9QYWdlCi9QYXJlbnQgMSAwIFIKL1Jlc291cmNlcyAyIDAgUgovR3JvdXAgPDwvVHlwZSAvR3JvdXAgL1MgL1RyYW5zcGFyZW5jeSAvQml4L

它应该是一个 pdf 文件,我尝试了这个来自 apache 的库 pdfbox,但它将内容作为 pdf 中的文本写入。我试过 ByteArrayInputStream 但创建的 pdf 无效,已损坏,这是我编写的一些代码。

public void escribePdf(String texto, String rutaSalida) throws IOException{

byte[] biteToRead = texto.getBytes();
InputStream is = new ByteArrayInputStream(biteToRead );
DataOutputStream out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(new File(rutaSalida))));
int c;
while((c = is.read()) != -1) {
out.writeByte(c);
}
out.close();
is.close();

}

最佳答案

那是Base64编码(最有可能是UTF-8)的数据,使用前必须解码;比如:

import sun.misc.BASE64Decoder;

...

BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(biteToRead);

....

编辑:对于 java >= 1.8,使用:

byte[] decodedBytes = java.util.Base64.getDecoder().decode(biteToRead);

关于java - 从java中的二进制数据创建pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23747982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com