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

时间:2015-12-22 23:58:37

标签: java pdf bytearray aspose aspose.pdf

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

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

有可能吗?如果是,我该如何管理呢?

由于

2 个答案:

答案 0 :(得分:8)

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。

答案 1 :(得分:-1)

我做了类似的事情。

以下是将数据写入byte的方法:

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;