gpt4 book ai didi

java - 使用 pdfbox 将 pdf 转换为 byte[],反之亦然

转载 作者:搜寻专家 更新时间:2023-11-01 01:43:56 27 4
gpt4 key购买 nike

我已经阅读了文档和示例,但我很难将它们放在一起。我只是想获取一个测试 pdf 文件,然后将其转换为字节数组,然后获取字节数组并将其转换回 pdf 文件,然后将 pdf 文件创建到磁盘上。

它可能没有多大帮助,但这是我到目前为止所得到的:

package javaapplication1;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import org.apache.pdfbox.cos.COSStream;
import org.apache.pdfbox.exceptions.COSVisitorException;
import org.apache.pdfbox.pdmodel.PDDocument;

public class JavaApplication1 {

private COSStream stream;

public static void main(String[] args) {
try {
PDDocument in = PDDocument.load("C:\\Users\\Me\\Desktop\\JavaApplication1\\in\\Test.pdf");
byte[] pdfbytes = toByteArray(in);
PDDocument out;
} catch (Exception e) {
System.out.println(e);
}
}

private static byte[] toByteArray(PDDocument pdDoc) throws IOException, COSVisitorException {
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
pdDoc.save(out);
pdDoc.close();
} catch (Exception ex) {
System.out.println(ex);
}
return out.toByteArray();
}

public void PDStream(PDDocument document) {
stream = new COSStream(document.getDocument().getScratchFile());
}
}

最佳答案

您可以使用 Apache commons ,这在 IMO 的任何 Java 项目中都是必不可少的。

然后你可以使用FileUtilsreadFileToByteArray(File file)writeByteArrayToFile(File file, byte[] data)

(这里是commons-io,也就是FileUtils所在的地方:http://commons.apache.org/proper/commons-io/download_io.cgi)

例如,我刚刚在这里尝试过,效果非常好。

try {
File file = new File("/example/path/contract.pdf");
byte[] array = FileUtils.readFileToByteArray(file);
FileUtils.writeByteArrayToFile(new File("/example/path/contract2.pdf"), array);

} catch (IOException e) {
e.printStackTrace();
}

关于java - 使用 pdfbox 将 pdf 转换为 byte[],反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17708200/

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