日期:2014-05-20  浏览次数:20758 次

请问下byte 怎么生成 pdf
我从一个网站返回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