我从一个网站返回base64加密的byte[]数据,现在要把它生成pdf
我的代码如下,可是生成的pdf打不开一直报错!
用itext.jar生成pdf的话是可以的,但是他直接把二进制文件给写到pdf里。。
请问,我这个可以实现么!可以的话麻烦给下示例代码,谢谢!
byte[] buffer // 我得到的数据,这个数据成功转成pdf的话应该是运单label
String result = new String(buffer);
FileOutputStream fileOutputStream = new FileOutputStream(new File("C:templabelresult.pdf"));
fileOutputStream.write(Base64.decode(result.toCharArray()));
fileOutputStream.close();
------解决方案--------------------
public static void writeFile(String path,byte[] bytes){
int n = 1024;
FileOutputStream os = null;
try {
// 创建文件输出流对象
File file = new File(path);
os= new FileOutputStream(file);
// 写入输出流
int length = bytes.length;
int start = 0;
while(length>start+n){
os.write(bytes, start, n);
start= start+n;
}
if(length != start+n){
n = length-start;
os.write(bytes, start, n);
}
} catch (IOException e) {
LogUtils.logException(e);
}finally{
// 关闭输出流
try {
if(os !=null){
os.close();
}
} catch (IOException e) {
LogUtils.logException(e);
}
}
}
path是文件名和路径,看看可以帮到不
------解决方案--------------------
用 iTextSharp 生成PDF