Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 26-09-2016, 18:54
docbrown
 Registrierter Benutzer
Links : Onlinestatus : docbrown ist offline
Registriert seit: Sep 2016
Beiträge: 4
docbrown befindet sich auf einem aufstrebenden Ast
Standard PDF erstellen mit dompdf

Servus zusammen,

ich baue mir gerade einen kleinen Shop mit Wordpress auf und ich will für jedes Produkt einen Button, mit dem ein PDF-Datenblatt des entsprechenden Produkts erstellt wird.
Für die PDF Erstellung benutze ich dompdf. Lokal an meinem Rechner funktioniert mein Code, auf der Internetseite aber nicht.

PHP-Code:
<?php
if(isset($_POST['button']))
{
    
// make sure that output buffering has been enabled
    
if (ob_start()) {
        
// clear previous contents from the server output cache
        
ob_clean();
        try {
            require_once(
"dompdf/dompdf_config.inc.php");
            
spl_autoload_register('DOMPDF_autoload');

            
$filename 'file_name';
            
$paper'A4';
            
$orientation'portrait';
                        
//getestet
            //phpinfo();
            //die();
            //$sent = die();
            //$sent = headers_sent($file, $line);
              //die("The output started in {$file} and at line {$line}");
            
            
$dompdf = new DOMPDF();
            
$dompdf->set_paper($paper$orientation);
            
$dompdf->load_html('TEST');
            
$dompdf->render();
        
$dompdf->stream($filename.".pdf");
            
            
            

            
// make sure the content of the buffer is sent to the client.
            
ob_flush();
            
// terminate the script to make sure no additional content is sent.
            
exit(0);
        } catch (
Exception $ex) {
            
error_log(sprintf("PDF generation failed with %s in line %d"$ex->getMessage(), $ex->getLine()));
        }
    } else {
        
// log a message in default error log
        
error_log("Output buffering could not be enabled (PDF routine)");
    }
}

?>

<form method="post" >
    <p>Test: <input type="text" name="price" /></p>
    <p><input type="submit" name="button" value="PDF" /></p> 
</form>
Ich muss dazusagen, dass ich Anfänger bin. Meinen ursprünglichen Code hat mir bereits ein User aus einen amerikanischen Forum überarbeitet, da aber sämtliche Versuche keine Besserung brachten, versuche ich hier mein Glück.

Problem:
Die PDF Datei wird erstellt, ist aber beschädigt.

Was wurde bereits getestet:
  • php.ini kann nicht bearbeitet werden
  • "php_value output_buffering On" in .htcaccess file
  • in phpinfo(); steht "Local value output_buffering on" und "Master value output_buffering on" und "implicit_flush off"
  • ob_start(); in index.php

  • PHP-Code:
    $sent headers_sent($file$line);
    die(
    "The output started in {$file} and at line {$line}"); 
    =>Ausgabe-Ergebnis: "The output started in and at line 0"

Das ist mal ein grober Überblick über das was ich bisher versucht habe. Wie gesagt ich bin Anfänger, also überfordert mich nicht
Auf jeden Fall schon mal danke für jede Hilfe. Wär echt klasse, wenn ich das für meinen Shop noch ans Laufen bekommen könnte.
Mit Zitat antworten