Eredmény: 1 - 8 (8) összesen

Téma: PDF-ként letöltődő PHP hívása

  1. #1
    Új tag
    Csatlakozott
    15-06-27
    Hozzászólás
    7
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás PDF-ként letöltődő PHP hívása

    Üdv, a következő lenne a problémám.
    Van egy PDF generáló PHP-m, ami gyakorlatilag egy pdf file-ként érkezik a kliensre. (TCPDF osztály segítségével.) Ezt a PHP filet szeretném kliens oldalról elérni úgy, hogy POST-al egy tömböt küldök neki, ami objektumokból áll. Ezzel semmi gond nem lenne, sima ajax kéréssel rendben is lenne, ám ezesetben válaszként ugye a PDF tartalmát kapom, amivel nem tudok mit kezdeni, mivel egy letölthető filet szeretnék kapni. Persze ott a másik megoldás, egy form rejtett mezőkkel, viszont itt meg az a probléma, hogy nem tudom megoldani a tömb form-ban elküldését.
    Van egy lehetőségen még a TCPDF-ben, mégpedig hogy a generálás után ne a kész file-al térjen vissza, hanem azt csak szerverre mentse, és utána én a kész pdf linkjét ajax válaszként küldje vissza a kliensnek. Ez egy működő megoldás lenne, de nem igazán tartom jó ötletnek, nem szeretném a tárhelyre menteni.
    Szóvel egy olyan megoldás érdekelne, ami lehetővé teszi, hogy: 1 - tömböt post-oljak a php-nak; 2 - az érkező kész pdf letöltése automatice elinduljon.
    Bocsi ha nem volt teljesen tiszta a mondandóm, vasárnap este már én sem vagyok az.



  2. #2
    Bölcs
    Csatlakozott
    10-01-15
    Hely
    Győr
    Hozzászólás
    589
    Begyűjtött 32 köszönetet
    30 hozzászólásával

    Alapbeállítás re: PDF-ként letöltődő PHP hívása

    Ez segít
    hxxp://stackoverflow.com/questions/16086162/handle-file-download-from-ajax-post



  3. #3
    Új tag
    Csatlakozott
    15-06-27
    Hozzászólás
    7
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: PDF-ként letöltődő PHP hívása

    Köszönöm, nagyjából én is így gondoltam a form-os megoldást, am annyi a probléma, hogy én amint írtam is, egy objektumokból(asszociatív tömbökből) álló tömböt szeretnék küldeni, és objektumot nem tudok input value értékeként adni. Egy sima [akár asszociatív] tömb magában ugye nem lenne probléma, ahogyan az a mellékelt példán is látható. Bár nemigazán értem, miért küldi el a kérdező először ajax-al az adatot, majd form-al ismét ugyanazt... de lényegtelen.

    Viszont most egy hétig nem leszek internetközelben, úgyhogy előre is elnézést mindenkitől, ha nem reagálok. Előre is köszönöm a válaszokat.



  4. #4
    Új tag
    Csatlakozott
    15-06-27
    Hozzászólás
    7
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: PDF-ként letöltődő PHP hívása

    Senkinek sincs semmi ötlet?



  5. #5
    Tag
    Csatlakozott
    15-02-03
    Hozzászólás
    72
    Begyűjtött 24 köszönetet
    23 hozzászólásával

    Alapbeállítás re: PDF-ként letöltődő PHP hívása

    Idézet wazemaki eredeti hozzászólása Hozzászólás megtekintése
    1 - tömböt post-oljak a php-nak;
    Egyszerűen JSON adatként?



  6. #6
    Bölcs earnnet logója
    Csatlakozott
    12-08-15
    Hely
    Budapest
    Hozzászólás
    1.530
    Begyűjtött 687 köszönetet
    485 hozzászólásával

    Alapbeállítás re: PDF-ként letöltődő PHP hívása

    Ha a HTTP fejlécet okosan küldöd, kényszeríteni fogja a letölést.

    Itt van egy library: Laravel Excel Documentation - Maatwebsite
    Ennek nézz bele a kódjába githubon, keresd a ->download() metódus kódját, abban lesz az auto file letöltés (pdf-et is exportál, és ha esetleg laravelt használsz, akkor tcpdf-fel is működik)

    https://github.com/Maatwebsite/Larav...xcelWriter.php

    254. sor, innen kövesd vissza


    Utoljára módosítva: earnnet által : 2015-07-20 22:40

  7. #7
    Tag
    Csatlakozott
    15-02-03
    Hozzászólás
    72
    Begyűjtött 24 köszönetet
    23 hozzászólásával

    Alapbeállítás re: PDF-ként letöltődő PHP hívása

    Idézet wazemaki eredeti hozzászólása Hozzászólás megtekintése
    2 - az érkező kész pdf letöltése automatice elinduljon.
    Ez is egyszerű:
    PHP kód:
    $url 'https://net.educause.edu/ir/library/pdf/ELI7026.pdf';
    header('Content-Type: application/pdf');
    header("Content-Transfer-Encoding: Binary");
    header("Content-disposition: attachment; filename=ELI7026.pdf");
    header('Accept-Ranges: bytes');
    @
    readfile($url); 
    Bár én jöbban szeretem ha a böngészőmbe nyílik:
    PHP kód:
    header("Content-disposition: inline; filename=ELI7026.pdf"); 




  8. #8
    Új tag
    Csatlakozott
    15-06-27
    Hozzászólás
    7
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: PDF-ként letöltődő PHP hívása

    Idézet mfkzt eredeti hozzászólása Hozzászólás megtekintése
    Ez is egyszerű: [ ... ]
    Igen ez valóban egyszerű, ám a tcpdf automatikusan beállítja a headereket, így ezeket is felülírja. De nem is ezzel lenne a gond (szerintem), mert ha pl. címsorból érem el a generáló php-t, akkor úgy működik, ahogyan kéne. Szerk: a tcpdf jól állítja be a headereket / a félreértés elkerülése végett /
    A gond ott kezdődik, hogy csak ajax hívással nem működik, mert ahogyan korábban is írtad, igen, json adatként küldöm ajax-al. Egyszerűen az ajax error függvénye fut le. A kérésben a dataType-al lehet gond? Eddig itt 'application/pdf'-et írtam.



Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •