0
在我的web应用程序中,根据需要,我需要将PDF文件打印到激光打印机,而无需打开Windows默认的“打印”弹出窗口。如何将PDF字节[]转换为字符串并将字符串转换为PDF字节[]
所以这里我使用小程序来打印存储在HTML文本区域中的字节。
但似乎新字符串(pdf.getByte [])后生成的字节不同于实际的PDF字节。
在我的控制,我存储要求范围字节以下提到:
request.setAttribute(PageRenderConstant.MULTI_SEL_PDF,new String(printOutputVO.getPdfBytes()));
而在HTML ...我存储为下面的字节..
<textarea style="visibility: hidden;" name="laserPrintData" id="laserPrintData" >
${multiselpdffile}
</textarea>
这里是小程序代码打印文件激光pritner ...
function print(){
var applet = document.jZebra;
if (applet != null) {
var data = $("#laserPrintData").val();
//applet.append(data);
applet.appendPDF(data);
applet.printPS();
}
}
但它说:“提供的PDF是损坏的fi乐“。所以新的String()操作之后的字节是不同的。
那么如何保留与新的String()操作前相同的字节?
感谢您的答复。现在我已经使用了64位编码器和解码器。对于编码,我在我的控制器上使用了sun.misc.BASE64Encoder。而在客户端,我使用的是JQuery 64位解码器。但它不工作。 JQuery解码器不解码由sun.misc.BASE64Encoder编码的字符串。你可以有任何想法为什么它不支持? –
@GunjanShah你可以检查编码器如何创建字符串并实现自己的解码。例如查看sun's lib的解码方法的代码。 – StanislavL
ohk ...这是解码器的问题。现在我使用apache.codec.Base64编码器。现在它工作正常。谢谢。 –