Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.php > #4227

PDF-Anzeige aus per Ajax gerufenem PHP-File

From Ralph Stahl <post@rstahl.de>
Newsgroups de.comp.lang.php
Subject PDF-Anzeige aus per Ajax gerufenem PHP-File
Date 2017-08-31 16:23 +0200
Organization A noiseless patient Spider
Message-ID <oo95sc$uni$1@dont-email.me> (permalink)

Show all headers | View raw


Moin!

Folgende Situation in einer PHP/jQuery-Applikation:

Auf einer Website ist ein Button, per Klick darauf wird mittels
jQuery-post() ein PHP-File (sagen wir "create-pdf.php") gerufen. In
selbigem wird mit der bekannten PDF-Bibliothek TCPDF ein PHP-Dokument
erzeugt, das ich dann zum Drucken oder Speichern aufpoppen lassen möchte
(der Browser ist so eingestellt).

In Kurzfassung dieses Stückchens Javascript heißt also:

$('#mein_button').on('click', function() {
    $.post('create-pdf.php', {Parameter...});
});

Mit TCPDF ist die entscheidende letzte Zeile in create-pdf.php:

$pdf->Output("filename.pdf", 'I');

Das ist äquivalent zu

<?php
$file = './path/to/the.pdf';
$filename = 'Custom file name for the.pdf';
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
header('Accept-Ranges: bytes');
@readfile($file);

Das klappt prima, solange ich create-pdf.php direkt im Browser aufrufe.
Den Aufruf über Ajax kann ich zwar in der Konsole von Firefox verfolgen
und man sieht auch die obigen Header richtig - nur poppt nichts, die
Daten geht ins Leere.

Was ist an der Idee verkehrt? Ich rufe das Ganze doch in dem Browser
auf, an den die Daten (das PDF) geschickt werden, sonst würde ich das
doch auch nicht in der Konsole verfolgen können. Javascript läuft im
Browser, das lokale Ende von Ajax auch. Einziger Unterschied beider
"Verfahren" ist, dass ich create-pdf.php einmal direkt im Browser
aufrufe und einmal indirekt unsichtbar.

Kann ich das irgendwie lösen? Jemand ne Idee? Ich wäre sehr dankbar.

Ralph


Back to de.comp.lang.php | Previous | NextNext in thread | Find similar


Thread

PDF-Anzeige aus per Ajax gerufenem PHP-File Ralph Stahl <post@rstahl.de> - 2017-08-31 16:23 +0200
  Re: PDF-Anzeige aus per Ajax gerufenem PHP-File "Christoph M. Becker" <cmbecker69@arcor.de> - 2017-08-31 18:21 +0200
    Re: PDF-Anzeige aus per Ajax gerufenem PHP-File Ralph Stahl <post@rstahl.de> - 2017-09-02 09:10 +0200
      Re: PDF-Anzeige aus per Ajax gerufenem PHP-File Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2017-09-02 11:16 +0000
        Re: PDF-Anzeige aus per Ajax gerufenem PHP-File Ralph Stahl <post@rstahl.de> - 2017-09-03 15:18 +0200
          Re: PDF-Anzeige aus per Ajax gerufenem PHP-File "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2017-09-03 17:39 +0200
            Re: PDF-Anzeige aus per Ajax gerufenem PHP-File Claus Reibenstein <4spamersonly@kabelmail.de> - 2017-09-03 17:51 +0200
              Re: PDF-Anzeige aus per Ajax gerufenem PHP-File "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2017-09-03 18:31 +0200
                Re: PDF-Anzeige aus per Ajax gerufenem PHP-File Ralph Stahl <post@rstahl.de> - 2017-09-04 10:07 +0200
            Re: PDF-Anzeige aus per Ajax gerufenem PHP-File Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-09-08 11:57 +0200
          Re: PDF-Anzeige aus per Ajax gerufenem PHP-File Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2017-09-03 19:53 +0000
      Re: PDF-Anzeige aus per Ajax gerufenem PHP-File "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2017-09-03 17:49 +0200
        Re: PDF-Anzeige aus per Ajax gerufenem PHP-File Ralph Stahl <post@rstahl.de> - 2017-09-04 10:08 +0200
          Re: PDF-Anzeige aus per Ajax gerufenem PHP-File "Christoph M. Becker" <cmbecker69@arcor.de> - 2017-09-04 13:20 +0200
          Re: PDF-Anzeige aus per Ajax gerufenem PHP-File "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2017-09-04 19:16 +0200
            Re: PDF-Anzeige aus per Ajax gerufenem PHP-File "Christoph M. Becker" <cmbecker69@arcor.de> - 2017-09-04 19:30 +0200
              Re: PDF-Anzeige aus per Ajax gerufenem PHP-File Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-09-08 12:01 +0200
                Re: PDF-Anzeige aus per Ajax gerufenem PHP-File "Christoph M. Becker" <cmbecker69@arcor.de> - 2017-09-08 12:56 +0200
                Re: PDF-Anzeige aus per Ajax gerufenem PHP-File Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-09-08 13:00 +0200
                Re: PDF-Anzeige aus per Ajax gerufenem PHP-File Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-09-08 13:14 +0200
                Re: PDF-Anzeige aus per Ajax gerufenem PHP-File "Christoph M. Becker" <cmbecker69@arcor.de> - 2017-09-13 17:57 +0200
                Re: PDF-Anzeige aus per Ajax gerufenem PHP-File Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-09-13 20:13 +0200
            Re: PDF-Anzeige aus per Ajax gerufenem PHP-File Ralph Stahl <post@rstahl.de> - 2017-09-05 12:14 +0200
  Re: PDF-Anzeige aus per Ajax gerufenem PHP-File Arno Welzel <usenet@arnowelzel.de> - 2017-09-17 15:00 +0200
    Re: PDF-Anzeige aus per Ajax gerufenem PHP-File Ralph Stahl <post@rstahl.de> - 2017-09-18 09:56 +0200

csiph-web