是否可以将 pdf 文档保存到字节数组(aspose.pdf for java)

Is it possible to save pdf document to byte array (aspose.pdf for java)

我需要将 aspose.pdf for java 库生成的 pdf 文档保存到内存中(不使用临时文件)

我正在查看 documentation,但没有找到具有适当签名的 save 方法。 (我在寻找某种输出流,或者至少是字节数组)。

可能吗?如果是,我该如何处理?

谢谢

我也做过类似的事情。

这是将数据写入字节的方法:

public byte[] toBytes() {
        //create byte array output stream object
        ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
        //create new data output stream object
        DataOutputStream outStream = new DataOutputStream(byteOutStream);
        try {//write data to bytes stream
            if (data != null) {
            outStream.write(data);//write data
            }//return array of bytes
        return byteOutStream.toByteArray();
    }

然后你做类似的事情

yourFileName.toBytes;

Aspose.Pdf for Java 支持将输出保存到文件和流。请检查以下代码片段,它将帮助您完成任务。

byte[] input = getBytesFromFile(new File("C:/data/HelloWorld.pdf"));
ByteArrayOutputStream output = new ByteArrayOutputStream();
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(new ByteArrayInputStream(input));
pdfDocument.save(output);
//If you want to read the result into a Document object again, in Java you need to get the
//data bytes and wrap into an input stream.
InputStream inputStream=new ByteArrayInputStream(output.toByteArray());

我是 Aspose 的开发人员布道师 Tilal Ahmad。