[英]Display PDF File into JSF PAGE
I want to display a pdf file without save the file on the server i have saved the generete pdf in array byte when i trie to display in the page it come like this 我想显示pdf文件而不在服务器上保存文件,但我想在页面中显示时将Generete pdf保存为数组字节
xœÕZIk,7?¾ûWÌ9
G[·$f=ä0ä?rË9ò.ùû©E%•Zín¿áñfì^¤Z¿úªdófO½üy2'?Myzs§ì[:}ùåå‡oNð=ø÷å·—ëûË4Ã<üþóéÛ§=Ywzÿõdz±Ë|6Îx?–Ww6ÓóbÏ&š´¼¦³Éæb®xá¶Èý;~8?—×x6ò?<ÈK8“
9\\2›']¡õh ¸fµ|%,?½÷òxù~SÚÙ¼ù•´ÖY\\5Án´B¶Á¢DvÆ}l¤ÏdÜÈx™î]–WzôJwoËT.Ùû'?^ÀËÁ>èû²/S˜ß¦µLOgœµÎ9؃÷zT#f°/Z€”ObÝÝ-¼{‹k']šñ‡¥\\°f™ãÙMä‚Ì·yG7;ôî†fÒ¾ôLvÉzxÄî?aÓ[^ëÁr.;Pq*{=xÅ+]_ðÕ*?Œ;ã#w1‡Š2z;²i´ÄÄ¡ä‹ø%À2 ŒO[?fÆD µ2èêxIV¹EKò-XbÁ÷M¦¯L–
Ñ{kÎÙŽ!=ƒY)xMV¤þÆ{xo(îb r×Û– M¸ÂVßS^RðÕÕ+%H9LEãƒqqï´÷®lÚ»v]qoIr¯–à[I¿;‰˜öìý¾Åb?²Áua!ïÕ¾áJN¶ ¨ôAt|p:äl¤³l6ë½}'‚˜HÉO(ç¬rìÞTöb<Ú^!b\\ƒ¦˜Z^u?¼åÿ3ÏWOeñßMRX²tß?³q)•xœÕZIk,7?¾ûWÌ9G
G[·$f=ä0ä?rË9ò.ùû©E%•Zín¿áñfì^¤Z¿úªdófO½üy2'?Myzs§ì[:}ùåå‡oNð=ø÷å·—ëûË4Ã<üþóéÛ§=Ywzÿõdz±Ë|6Îx?–Ww6ÓóbÏ&š´¼¦³Éæb®xá¶Èý;~8?—×x6ò?<ÈK8“
9 \\ 2›']¡hh ¸fµ |%,?½÷òxù〜SÚÙ¼ù•´ÖYY \\ 5Án´B¶Á¢DvÆ}läÏdÜÈx™” –WzôJwoËT.Ùû'?^ÀËÁ>èû²/ S〜ßμLOgœµÎ9؃÷zT#f°/ Z€”ObÝÝ-¼{¼k‹]šñ‡¥ \\°f™ÙMä‚Ì·yG7;?îfÒ¾ôLvÉzxÄî?aÓ[^ëÁr。; Pq * {=xÅ+] _ðÕ*?Œ;ã#w1‡Š2z; ²i´ÄÄÄ​%% 2ŒO[? fÆDμ2èêxIV¹EKò-XBA÷中号¦¯L–
N {kÎÙŽ!=ƒY)xMV¤þÆ{XO(IB R×U-M¸ÂVßS^RðÕÕ+%H9LEãƒqqï'÷®lÚ»v]qoIr¯-à[I¿ ;‰?öýý¾Åb?²Áua!ïÕ¾áJNJ¶?At | p:äl¤³l6ë½}',〜HÉO(ç¬rìÞTöb<Ú^!b \\ ƒ¦〜Z ^ u?¼åÿ3ÏWOeñßMRX²tß?³q)•
this is my code 这是我的代码
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
response.reset();
ServletOutputStream os = response.getOutputStream();
response.setContentType("application/pdf"); // fill in
response.setContentLength(this.currentDocument.getContenu().length);
String pdfName="Test";
response.setHeader("Content-Disposition", "attachment; filename=\"" + pdfName + "\"");
os.write(this.currentDocument.getContenu()); // fill in bytes
os.flush();
os.close();
context.responseComplete();
It's happening most likely because you're using an ajax action to fire the PDF generation. 这很可能是因为您正在使用ajax操作来触发PDF生成。 A full-on HTTP request is required to properly render the PDF in the response
需要完整的HTTP请求才能正确呈现响应中的PDF
Make sure you're not using an ajax button like <p:commandButton/>
to fire the action. 确保没有使用
<p:commandButton/>
类的ajax按钮来触发操作。
Use either 使用任一
<p:commandButton ajax="false"/>
OR 要么
<h:commandButton/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.