Einbindung von fpdf.php in Wordpress

Diskussionen und Austausch über die von FPDF bereitgestellten Methoden, Problemen bei der Anwendung etc.
gottfrieds
Benutzer
Beiträge: 1
Registriert: So 21. Jan 2018, 10:30

Einbindung von fpdf.php in Wordpress

Beitragvon gottfrieds » So 21. Jan 2018, 10:50

Hatte ein großes Problem. Wollte mit einem Button eine PDF Ausgabe anstoßen. Habe lange nach der Lösung gesucht. Vielleicht haben auch andere das Problem, dass man Ausgaben vor der Bearbeitung macht, was bei Wordpress Seiten schwierig zu umgehen ist. Hier mein Lösungsansatz, der ggfs, auch anderen hilft:

Benutze admin-post.php. In ein Snippet (functions.php) habe ich folgenden Beispielcode eingegeben. fpfd.de liegt bei mir in dem Verzeichnis /wp-content/uploads/fpdf/.

Code: Alles auswählen

add_action( 'admin_post_list_PDF', 'list_PDF' );

/**
 * Generate PDF File.
 */
 
function list_PDF() {
 
    global $wpdb;
 
    /*
     * Ob alle header erfordelrich sind, habe ich nicht geprüft
    */
 
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: private", false);
    header('Content-Type: text/csv; charset=utf-8');
    header("Content-Transfer-Encoding: binary");
 
    /*
     * create a PDF file pointer
    */
    require WP_CONTENT_DIR . '/uploads/fpdf/fpdf.php';
    $pdf = new FPDF();
    $pdf->AddPage();
    $pdf->SetFont('Arial', 'B', 16);
    $page = 'Hello world';
    $pdf->Cell(40, 10, $page);
    $pdf->Output();
    exit;
}


Das dazu gehörige Formular sieht so aus:

<form action="<?php echo admin_url( 'admin-post.php' ); ?>">
<input type="hidden" name="action" value="list_PDF" />
<input type="submit" value="Seite drucken" />
</form>


Der PDF File erscheint dann auf dem Bildschirm mit dem Standard PDF Viewer.

Flachzange
Benutzer
Beiträge: 1
Registriert: Sa 5. Jan 2019, 14:12

Re: Einbindung von fpdf.php in Wordpress

Beitragvon Flachzange » Sa 5. Jan 2019, 14:16

Hallo gottfrieds,

vielen Dank für den Tipp. So hat es bei mir auch zunächst geklappt. Leider funktioniert aber die Anzeige auf mobilen Endgeräten nicht. Es wird immer eine leere Seite angezeigt.

Funktioniert das bei Dir?

Ich behelfe mich derzeit damit, dass ich die fpdf.php angepasst habe:

https://stackoverflow.com/questions/947 ... t-send-pdf

Das ist aber nur ein Hack. Eine richtige Lösung wäre mir lieber, aber ich weiß nicht wie ich wordpress zu einer Ausgabe überreden kann ohne dass immer der normale Content ausgegeben wird. Gib es ggf. neben der admin-post.php noch andere Boardmittel?


Zurück zu „Programmierung“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste