如何将PDF byte []转换为String和String转换为PDF byte []

时间:2013-01-23 06:10:41

标签: java

在我的网络应用程序中,根据要求我需要将PDF文件打印到激光打印机而不打开Windows默认的“打印”弹出窗口。

所以我在这里使用applet来打印存储在HTML文本区域中的字节。

但似乎新String(pdf.getByte [])之后生成的字节与实际的PDF字节不同。

在我的控制器中,我将字节存储到请求范围,如下所述:

request.setAttribute(PageRenderConstant.MULTI_SEL_PDF,new String(printOutputVO.getPdfBytes()));

在HTML中......我将字节存储如下..

<textarea style="visibility: hidden;"  name="laserPrintData"  id="laserPrintData" >
   ${multiselpdffile}                   
</textarea>

以下是将文档打印到激光打印机的小程序代码......

function print(){                                                           
  var applet = document.jZebra;
  if (applet != null) {    
  var data = $("#laserPrintData").val();
  //applet.append(data);
  applet.appendPDF(data);              
  applet.printPS();
  }
}

但它说“提供的PDF文件已损坏。”所以新的String()操作后的字节是不同的。

那么如何保留与新String()操作之前相同的字节??

1 个答案:

答案 0 :(得分:0)

使用Base64方法将byte []转换为String并将其解码回byte []

public static byte[] decode(String encoded)
public static String encode(byte[] binaryData) {