我需要将aspose.pdf for java
库生成的pdf文档保存到内存中(不使用临时文件)
我正在查看documentation,并且没有找到具有相应签名的save
方法。 (我正在寻找某种输出流,或者至少是字节数组)。
有可能吗?如果是,我该如何管理呢?
由于
答案 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;