在我的 Web 应用程序中,根据要求,我需要将 PDF 文件打印到激光打印机,而无需打开 Windows 默认的“打印”弹出窗口。
所以在这里我使用小程序来打印存储在 HTML 文本区域中的字节。
但似乎 new 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 文件已损坏。” 所以 new String() 操作后的字节是不同的。
那么如何保留与 new String() 操作之前相同的字节?