Hallo!
Moin Moin !
ist ja bekanntlich schon öfter diskutiert worden, dass man es nicht 100%ig sauber hinbekommt, das alle Browser eine PDF-Datei nicht öffnen sondern dass sich das Downloadfenster öffnet. ich generiere in einem Script eine pdf-Datei, und möchte das sich das Fenster dann auch direkt öffnet, mein gescheiterter Versuch sieht so aus:
...
system ("htmldoc --webpage --jpeg=50 -f $pdf_output $temp_html");
header ("Content-type: application/x-save-this-file");
header ("location: $pdf_output");
^--- Was soll das ?
Öffne binär die PDF-Datei zum lesen, und schreibe das ganze binär zum Webserver/Browser raus.
In Perl (sorry, ich kann nicht wirklich PHP):
#!/usr/bin/perl
$pdf_output='/tmp/foobar$$.pdf';
$temp_html='/tmp/whatever';
system ("htmldoc --webpage --jpeg=50 -f $pdf_output $temp_html");
print "Content-type: application/x-save-this-file\r\n\r\n";
^-- entspricht header()
open FILE,"<$pdf_output";
binmode FILE;
binmode STDOUT;
print while <FILE>;
close FILE;
Wo ich das gerade getippt habe: Es müßte noch einfacher gehen, wenn htmldoc nach STDOUT schreiben kann:
#!/usr/bin/perl
$temp_html='/tmp/whatever';
print "Content-type: application/x-save-this-file\r\n\r\n";
^-- entspricht header()
system ("htmldoc --webpage --jpeg=50 -f - $temp_html");
^-- und hier geht die PDF-Datei direkt als Stream durch den Webserver zum Browser.
Alexander