| | | | |
| |||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Gast
Beiträge: n/a
| Erstmal Danke für Deine Antwort, Du hast natürlich Recht, der Code ist nur ein Ausschnitt. Die komplette Funktion sieht so aus: function doc_generate() { define('FPDF_FONTPATH','font/'); require_once('fpdf/fpdi.php'); $pdf= new fpdi('P','mm','A4'); $pagecount = $pdf->setSourceFile(PATH_UPLOAD.PATH_DOCUMENTS.$this->SELF[$this->OBJNAME]->VAL); $tplidx = $pdf->ImportPage(1); $pdf->addPage(); $pdf->useTemplate($tplidx,0,0); if($this->OBJ_CONTAINER["SRP"]->LOADED) { $ARR_Content = split("[\n]",$this->OBJ_CONTAINER["SRP"]->parse_Output()); $Headline = array_shift($ARR_Content); $Content = implode("\n",$ARR_Content); $pdf->SetFont('Arial','B',11); $pdf->SetXY(10,10); $pdf->write(6,$Headline); $pdf->SetFont('Arial','',9); $pdf->SetXY(10,16); $pdf->write(4,$Content); } if($this->OBJ_CONTAINER["USR"]->LOADED) { $ARR_Content = split("[\n]",$this->OBJ_CONTAINER["USR"]->parse_Output()); $Headline = array_shift($ARR_Content); $Content = implode("\n",$ARR_Content); $pdf->SetLeftMargin(120); $pdf->SetFont('Arial','B',11); $pdf->SetXY(120,10); $pdf->write(6,$Headline); $pdf->SetFont('Arial','',9); $pdf->SetXY(120,16); $pdf->write(4,$Content); } $pdf->Output($this->SELF[$this->OBJNAME]->VAL,"D"); $pdf->closeParsers(); exit(); } und ist Bestandteil einer umfassenderen PDF Klasse. Der Aufruf erfolgt über $PDF->doc_generate(). Bei der Fehlermeldung, die ich erhalte, handelt es sich um eine Acrobat-Reader Fehlermeldung, und nicht um eine Browser-Fehlermeldung, die darauf hindeuten würde, dass irgendwas unzulässigerweise vor dem Erzeugen des PDF als header an den Browser gesendet wurde. Wie oben im Nachtrag bereits geschrieben: Wenn ich die Datei mit Acrobat 4.0 Reader öffne, gibt es keine Probleme, ebenso nicht, wenn ich die Datei via "Link speichern unter" herunterlade. Danach kann ich die Datei auch mit dem Reader 7.0 öffnen !?! Ich habe auch mal die ganze Contentausgabe und Templateeinbindung weggelassen, also ein leeres PDF erzeugt. Gleiches Ergebnis. Was tun? Noch Ideen??? |
|
| | |
| Gast
Beiträge: n/a
| Problem gelöst. Nachdem ich festgestellt habe, das das beschriebene Problem nur im Internet Explorer auftritt, habe ich mal die header - Ausgabe in fpdf->Output() angepasst, und siehe da ... ursprünglicher Code: Code: function Output()
{
....
case 'D':
//Download file
if(ob_get_contents())
$this->Error('Some data has already been output, can\'t send PDF file');
if(isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'],'MSIE'))
header('Content-Type: application/force-download');
else
header('Content-Type: application/octet-stream');
if(headers_sent())
$this->Error('Some data has already been output to browser, can\'t send PDF file');
header('Content-Length: '.strlen($this->buffer));
header('Content-disposition: attachment; filename="'.$name.'"');
echo $this->buffer;
break;
....
}
Code: function Output()
{
...
case 'D':
//Download file
if(ob_get_contents())
$this->Error('Some data has already been output, can\'t send PDF file');
if(isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'],'MSIE'))
{
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header('Content-Type: application/force-download');
}
else
header('Content-Type: application/octet-stream');
if(headers_sent())
$this->Error('Some data has already been output to browser, can\'t send PDF file');
header('Content-Length: '.strlen($this->buffer));
header('Content-disposition: attachment; filename="'.basename($name).'"');
header("Content-Transfer-Encoding: binary");
echo $this->buffer;
break;
...
}
|
|
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| adobe reader beim öffnen dieses dokuments ist ein fehler aufgetreten, beim öffnen dieses dokuments ist ein fehler aufgetreten. diese datei kann nicht gefunden werden, a required resource cannot be loaded, a required resource cannot be loaded adobe, fpdi, es ist ein problem mit adobe acrobat reader aufgetreten, adobe reader a required resource cannot be loaded, adobe diese datei kann nicht gefunden werden, acrobat konnte nicht öffnen fpdf, adobe reader diese datei kann nicht gefunden werden, fpdf internet explorer, fpdf acrobat 7, fpdf fehler beim öffnen, \es ist ein problem mit adobe acrobat/reader aufgetreten\, adobe reader datei kann nicht gefunden werden, fpdf öffnen, beim öffnen dieses dokuments ist ein fehler aufgetreten. diese datei kann nicht gefunden werden., beim öffnen dieses dokuments ist ein fehler aufgetreten diese datei kann nicht gefunden werden, fpdf adobe reader konnte nicht öffnen, adobe a required resource cannot be loaded |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.