Re: Re: Android Problem
Alan Laas <[email protected]> Tue, 11 Jun 2013 10:17:51 -0500
| Newsgroups | gmane.comp.lang.perl.modules.pdfapi2 |
|---|---|
| Message-ID | <[email protected]> |
--------------050807090005050509070205 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit It still fails. However that also breaks displaying it in a PC browser via a plugin which is the preferred method. I can handle that by platform detection that only adds the Content-Dispostion when it detects Android. I have another idea why the download may be failing. This is an internal web app that uses SSL. Since the site is in development the certificate on the server is self-signed and for a different domain. In a browser you have the ability to accept the cert despite the warnings on it. Since Android hands off the download to another app instead of the browser handling the download, it may simply be rejecting it based on the fact that the cert doesn't match. At least that is my next theory to test. On 6/11/2013 8:27 AM, John wrote: > > On the question of "superstitions", I did not say that the pdf needed > to be saved to an external file - rather that, for reasons particular > to my own application, I actually have to save it. And it turns out > that streaming the PDF to the browser from the file just happens to > work reliably across a range of devices. > > --- In [email protected] > <mailto:perl-text-pdf-modules%40yahoogroups.com>, Rick Measham > <rick@...> wrote: > > > > On 11/06/2013 4:37 AM, Alan Laas wrote: > > > print "Content-type:application/pdf\n\n"; > > > print $pdf->stringify(); > > > $pdf->end(); > > > > > > > Try adding in a Content-Disposition header: > > print "Content-Disposition:attachment;filename=filename.pdf\n"; > > (make sure your final header has two newlines of course) > > > > Saving to an external file shouldn't make any difference at all and > > sounds like superstition. The code for stringify() just opens a scalar > > as a filehandle and then 'saves' the PDF to that filehandle. Then it > > returns the scalar. > > > > Also, there's no need to call ->end() as save, saveas and stringify > > already call it. > > > > - Rick > > > > > > -- > > Message protected for iSite by MailGuard: e-mail anti-virus, > anti-spam and content filtering.http://www.mailguard.com.au > > > > --------------050807090005050509070205 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> </head> <body style="background-color: #fff;"> <span style="display:none"> </span> <!--~-|**|PrettyHtmlStartT|**|-~--> <div id="ygrp-mlmsg" style="position:relative;"> <div id="ygrp-msg" style="z-index: 1;"> <!--~-|**|PrettyHtmlEndT|**|-~--> <div id="ygrp-text" > <p> <div class="moz-cite-prefix">It still fails. However that also breaks displaying it in a PC browser via a plugin which is the preferred method. I can handle that by platform detection that only adds the Content-Dispostion when it detects Android. I have another idea why the download may be failing. This is an internal web app that uses SSL. Since the site is in development the certificate on the server is self-signed and for a different domain. In a browser you have the ability to accept the cert despite the warnings on it. Since Android hands off the download to another app instead of the browser handling the download, it may simply be rejecting it based on the fact that the cert doesn't match. At least that is my next theory to test.<br> <br> On 6/11/2013 8:27 AM, John wrote:<br> </div> <blockquote cite="mid:[email protected]" type="cite"> <span> </span> <div id="ygrp-text"> <p>On the question of "superstitions", I did not say that the pdf needed to be saved to an external file - rather that, for reasons particular to my own application, I actually have to save it. And it turns out that streaming the PDF to the browser from the file just happens to work reliably across a range of devices.<br> <br> --- In <a moz="true" href="mailto:perl-text-pdf-modules%40yahoogroups.com">[email protected]</a>, Rick Measham <a class="moz-txt-link-rfc2396E" href="mailto:rick@..."><rick@...></a> wrote:<br> ><br> > On 11/06/2013 4:37 AM, Alan Laas wrote:<br> > > print "Content-type:application/pdf\n\n";<br> > > print $pdf->stringify();<br> > > $pdf->end();<br> > ><br> > <br> > Try adding in a Content-Disposition header:<br> > print "Content-Disposition:attachment;filename=filename.pdf\n";<br> > (make sure your final header has two newlines of course)<br> > <br> > Saving to an external file shouldn't make any difference at all and <br> > sounds like superstition. The code for stringify() just opens a scalar <br> > as a filehandle and then 'saves' the PDF to that filehandle. Then it <br> > returns the scalar.<br> > <br> > Also, there's no need to call ->end() as save, saveas and stringify <br> > already call it.<br> > <br> > - Rick<br> > <br> > <br> > -- <br> > Message protected for iSite by MailGuard: e-mail anti-virus, anti-spam and content <a moz="true" href="filtering.http://www.mailguard.com.au">filtering.http://www.mailguard.com.au</a><br> ><br> <br> </p> </div> <!-- end group email --> </blockquote> <br> </p> </div> <!--~-|**|PrettyHtmlStart|**|-~--> <div style="color: #fff; height: 0;">__._,_.___</div> <table cellspacing=4px style="margin-top: 20px; margin-bottom: 10px;"> <tbody> <tr> <td style="font-size: 12px; font-family: arial; font-weight: bold; padding: 7px 5px 5px; color: #FFF; background-color: #F2F2F2; border: 1px solid #EAEAEA " > <a style="text-decoration: none; color: #2D50FD" href="">Reply via web post</a> </td> <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px; color: #FFF; background-color: #F2F2F2; border: 1px solid #EAEAEA; " > <a href="mailto:[email protected]?subject=Re%3A%20%5Bperl-text-pdf-modules%5D%20Re%3A%20Android%20Problem" style="text-decoration: none; color: #2D50FD;"> Reply to sender </a> </td> <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px; color: #FFF; background-color: #F2F2F2; border: 1px solid #EAEAEA; "> <a href="mailto:[email protected]?subject=Re%3A%20%5Bperl-text-pdf-modules%5D%20Re%3A%20Android%20Problem" style="text-decoration: none; color: #2D50FD"> Reply to group </a> </td> <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px; color: #FFF; background-color: #F2F2F2; border: 1px solid #EAEAEA; " > <a href="" style="text-decoration: none; color: #2D50FD">Start a New Topic</a> </td> <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px; color: #2D50FD; background-color: #F2F2F2; border: 1px solid #EAEAEA; " > <a href="" style="text-decoration: none; color: #2D50FD;">Messages in this topic</a> () </td> </tr> </tbody> </table> <!------- Start Nav Bar ------> <!-- |**|begin egp html banner|**| --> <!-- |**|end egp html banner|**| --> <!-- |**|begin egp html banner|**| --> <div id="ygrp-vital" style="background-color: #f2f2f2; font-family: Verdana; font-size: 10px; margin-bottom: 10px; padding: 10px;"> <span id="vithd" style="font-weight: bold; color: #333; text-transform: uppercase; ">Recent Activity:</span> <ul style="list-style-type: none; margin: 0; padding: 0; display: inline;"> </ul> <div style="clear: both; padding-top: 2px; color: #1e66ae;"> <a href="http://groups.yahoo.com/group/perl-text-pdf-modules;_ylc=X3oDMTJlb2VlbWh0BF9TAzk3MzU5NzE0BGdycElkAzIwMTczODIEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTM3MDk2Mzg4Mw--" style="text-decoration: none;">Visit Your Group</a> </div> </div> <div id="ygrp-grfd" style="font-family: Verdana; font-size: 12px; padding: 15px 0;"> <!-- |**|begin egp html banner|**| --> To unsubscribe from this group, send an email to:<BR> perl-text-pdf-modules-unsubscribe-Km8ibD4bFueDmjp1MlKEbA@public.gmane.org<BR> <BR> <!-- |**|end egp html banner|**| --> </div> <div id="ft" style="font-family: Arial; font-size: 11px; margin-top: 5px; padding: 0 2px 0 0; clear: both;"> <a href="http://groups.yahoo.com/;_ylc=X3oDMTJkOGFrdm04BF9TAzk3NDc2NTkwBGdycElkAzIwMTczODIEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMzcwOTYzODg0" style="float: left;"><img src="http://l.yimg.com/a/i/us/yg/logo/us.gif" height="15" width="137" alt="Yahoo! Groups" style="border: 0;"/></a> <div style="color: #747575; float: right;">Switch to: <a href="mailto:perl-text-pdf-modules-traditional-hHKSG33TihhbjbujkaE4pw@public.gmane.org?subject=Change Delivery Format: Traditional" style="text-decoration: none;">Text-Only</a>, <a href="mailto:perl-text-pdf-modules-digest-hHKSG33TihhbjbujkaE4pw@public.gmane.org?subject=Email Delivery: Digest" class="margin-rt" style="text-decoration: none;">Daily Digest</a> • <a href="mailto:perl-text-pdf-modules-unsubscribe-hHKSG33TihhbjbujkaE4pw@public.gmane.org?subject=Unsubscribe" style="text-decoration: none;">Unsubscribe</a> • <a href="http://docs.yahoo.com/info/terms/" style="text-decoration: none;">Terms of Use</a> • <a href="mailto:[email protected]?subject=Feedback on the redesigned individual mail v1" style="text-decoration: none;">Send us Feedback </a></div> </div> <!-- |**|end egp html banner|**| --> </div> <!-- ygrp-msg --> <!-- Sponsor --> <!-- |**|begin egp html banner|**| --> <div id="ygrp-sponsor" style="width:160px; float:right; clear:none; margin:0 0 25px 0; background: #fff;"> <!-- Start Recommendations --> <div id="ygrp-reco"> </div> <!-- End Recommendations --> </div> <!-- |**|end egp html banner|**| --> <div style="clear:both; color: #FFF; font-size:1px;">.</div> </div> <img src="" width="1" height="1"> <br> <div style="color: #fff; height: 0;">__,_._,___</div> <!--~-|**|PrettyHtmlEnd|**|-~--> </body> <!--~-|**|PrettyHtmlStart|**|-~--> <head> <style type="text/css"> <!-- #ygrp-mkp { border: 1px solid #d8d8d8; font-family: Arial; margin: 10px 0; padding: 0 10px; } #ygrp-mkp hr { border: 1px solid #d8d8d8; } #ygrp-mkp #hd { color: #628c2a; font-size: 85%; font-weight: 700; line-height: 122%; margin: 10px 0; } #ygrp-mkp #ads { margin-bottom: 10px; } #ygrp-mkp .ad { padding: 0 0; } #ygrp-mkp .ad p { margin: 0; } #ygrp-mkp .ad a { color: #0000ff; text-decoration: none; } #ygrp-sponsor #ygrp-lc { font-family: Arial; } #ygrp-sponsor #ygrp-lc #hd { margin: 10px 0px; font-weight: 700; font-size: 78%; line-height: 122%; } #ygrp-sponsor #ygrp-lc .ad { margin-bottom: 10px; padding: 0 0; } #actions { font-family: Verdana; font-size: 11px; padding: 10px 0; } #activity { background-color: #e0ecee; float: left; font-family: Verdana; font-size: 10px; padding: 10px; } #activity span { font-weight: 700; } #activity span:first-child { text-transform: uppercase; } #activity span a { color: #5085b6; text-decoration: none; } #activity span span { color: #ff7900; } #activity span .underline { text-decoration: underline; } .attach { clear: both; display: table; font-family: Arial; font-size: 12px; padding: 10px 0; width: 400px; } .attach div a { text-decoration: none; } .attach img { border: none; padding-right: 5px; } .attach label { display: block; margin-bottom: 5px; } .attach label a { text-decoration: none; } blockquote { margin: 0 0 0 4px; } .bold { font-family: Arial; font-size: 13px; font-weight: 700; } .bold a { text-decoration: none; } dd.last p a { font-family: Verdana; font-weight: 700; } dd.last p span { margin-right: 10px; font-family: Verdana; font-weight: 700; } dd.last p span.yshortcuts { margin-right: 0; } div.attach-table div div a { text-decoration: none; } div.attach-table { width: 400px; } div.file-title a, div.file-title a:active, div.file-title a:hover, div.file-title a:visited { text-decoration: none; } div.photo-title a, div.photo-title a:active, div.photo-title a:hover, div.photo-title a:visited { text-decoration: none; } div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts { font-family: Verdana; font-size: 10px; font-weight: normal; } .green { color: #628c2a; } .MsoNormal { margin: 0 0 0 0; } o { font-size: 0; } #photos div { float: left; width: 72px; } #photos div div { border: 1px solid #666666; height: 62px; overflow: hidden; width: 62px; } #photos div label { color: #666666; font-size: 10px; overflow: hidden; text-align: center; white-space: nowrap; width: 64px; } #reco-category { font-size: 77%; } #reco-desc { font-size: 77%; } .replbq { margin: 4px; } #ygrp-actbar div a:first-child { /* border-right: 0px solid #000;*/ margin-right: 2px; padding-right: 5px; } #ygrp-mlmsg { font-size: 13px; font-family: Arial, helvetica,clean, sans-serif; *font-size: small; *font: x-small; } #ygrp-mlmsg table { font-size: inherit; font: 100%; } #ygrp-mlmsg select, input, textarea { font: 99% Arial, Helvetica, clean, sans-serif; } #ygrp-mlmsg pre, code { font:115% monospace; *font-size:100%; } #ygrp-mlmsg * { line-height: 1.22em; } #ygrp-mlmsg #logo { padding-bottom: 10px; } #ygrp-msg p a { font-family: Verdana; } #ygrp-msg p#attach-count span { color: #1E66AE; font-weight: 700; } #ygrp-reco #reco-head { color: #ff7900; font-weight: 700; } #ygrp-reco { margin-bottom: 20px; padding: 0px; } #ygrp-sponsor #ov li a { font-size: 130%; text-decoration: none; } #ygrp-sponsor #ov li { font-size: 77%; list-style-type: square; padding: 6px 0; } #ygrp-sponsor #ov ul { margin: 0; padding: 0 0 0 8px; } #ygrp-text { font-family: Georgia; } #ygrp-text p { margin: 0 0 1em 0; } #ygrp-text tt { font-size: 120%; } #ygrp-vital ul li:last-child { border-right: none !important; } --> </style> </head> <!--~-|**|PrettyHtmlEnd|**|-~--> </html> <!-- end group email --> --------------050807090005050509070205--