abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 06:00 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. Vypíchnout lze, že v Plasmě byl implementován 22letý požadavek. Historie schránky nově umožňuje ohvězdičkovat vybrané položky a mít k ním trvalý a snadný přístup.

    Ladislav Hagara | Komentářů: 0
    30.8. 20:00 | Nová verze

    Wayfire, kompozitní správce oken běžící nad Waylandem a využívající wlroots, byl vydán ve verzi 0.10.0. Zdrojové kódy jsou k dispozici na GitHubu. Videoukázky na YouTube.

    Ladislav Hagara | Komentářů: 0
    30.8. 04:00 | Komunita

    Před necelými čtyřmi měsíci byl Steven Deobald jmenován novým výkonným ředitelem GNOME Foundation. Včera skončil, protože "nebyl pro tuto roli v tento čas ten pravý".

    Ladislav Hagara | Komentářů: 7
    29.8. 18:33 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 156 (pdf).

    Ladislav Hagara | Komentářů: 0
    29.8. 15:11 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.8.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    29.8. 12:11 | IT novinky

    Včera večer měl na YouTube premiéru dokumentární film Python: The Documentary | An origin story.

    Ladislav Hagara | Komentářů: 0
    28.8. 23:33 | Nová verze

    Společnost comma.ai po třech letech od vydání verze 0.9 vydala novou verzi 0.10 open source pokročilého asistenčního systému pro řidiče openpilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    28.8. 21:55 | Nová verze Ladislav Hagara | Komentářů: 4
    28.8. 14:11 | IT novinky

    Řada vestavěných počítačových desek a vývojových platforem NVIDIA Jetson se rozrostla o NVIDIA Jetson Thor. Ve srovnání se svým předchůdcem NVIDIA Jetson Orin nabízí 7,5krát vyšší výpočetní výkon umělé inteligence a 3,5krát vyšší energetickou účinnost. Softwarový stack NVIDIA JetPack 7 je založen na Ubuntu 24.04 LTS.

    Ladislav Hagara | Komentářů: 4
    28.8. 00:44 | Bezpečnostní upozornění

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) spolu s NSA a dalšími americkými úřady upozorňuje (en) na čínského aktéra Salt Typhoon, který kompromituje sítě po celém světě.

    Ladislav Hagara | Komentářů: 27
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (81%)
     (8%)
     (3%)
     (3%)
     (4%)
     (1%)
    Celkem 118 hlasů
     Komentářů: 9, poslední 28.8. 11:53
    Rozcestník

    Dotaz: PHP download PDF - chybi obrazky

    Ondřej Kuda avatar 14.5.2012 07:28 Ondřej Kuda | skóre: 27 | blog: obcasny_blog
    PHP download PDF - chybi obrazky
    Přečteno: 367×
    Zdravim,

    mam problem se stahovanim PDF pres PHP. TEX vygeneruje PDF, ktere davam ke stazeni a soucasne posilam emailem v priloze. Soubor v priloze emailu je v poradku, ale PDF soubor, ktery nabidne PHP a stahne prohlizec, je bez obrazku. PDF zustava stale ulozen na disku a je v poradku. Tusim, ze tu bude nejaky trik s hlavickami. Nevite nekdo, jak to spravne nastavit? Diky.

    O.
    $fileName = $prihlaska[0]['prihlaska'].".pdf";
    $fileDir = "/home/me/pdf/"; 
    
    $fileString=$fileDir.'/'.$fileName; 
    // translate file name properly for Internet Explorer.
    if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")){
      $fileName = preg_replace('/\./', '%2e', $fileName, substr_count($fileName, '.') - 1);
    }
    
    if(!$fdl=@fopen($fileString,'rb')){
        die("Cannot Open File!");
    } else {
      header("Cache-Control: ");// leave blank to avoid IE errors
      header("Pragma: ");// leave blank to avoid IE errors
      header("Content-type: application/pdf");
      header("Content-Disposition: attachment; filename=\"".$fileName."\"");
      header("Content-length:".(string)(filesize($fileString)));
      header("Content-Transfer-Encoding: binary");
        sleep(1);
        fpassthru($fdl);
    }

    Odpovědi

    14.5.2012 18:05 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: PHP download PDF - chybi obrazky
    Chápu to správně, že máte jeden PDF soubor s vloženými obrázky, a když ten soubor pošlete e-mailem a zobrazíte, obrázky se zobrazí, a když jej zobrazíte v internetovém prohlížeči, obrázky se nezobrazí? Předpokládám, že když jej v prohlížeči nezobrazíte rovnou, ale uložíte na disk, obrázky budou také zobrazené. Napadají mne 2 možnosti – buď obrázky nejsou vložené přímo v PDF, ale jsou tam jen odkazy, a zobrazení z prohlížeče je z bezpečnostních důvodů nestáhne. Podle mne ale jednak něco takového nejde v PDF udělat, jednak nedává smysl, aby se to při zobrazení z disku chovalo jinak. Druhá možnost je, že pro zobrazení používáte PDF plugin pro Chrome, který PDF vykresluje sám, a používáte nějaký formát obrázků, kterému nerozumí. Na to by ale snad upozornil.

    Radši si ale zkontrolujte, jestli v obou případech dostáváte identický soubor. Pokud ano, napište, ve které aplikaci se to jak chová (webové prohlížeče, e-mailový klient, PDF prohlížeč).
    Ondřej Kuda avatar 14.5.2012 20:47 Ondřej Kuda | skóre: 27 | blog: obcasny_blog
    Rozbalit Rozbalit vše Re: PHP download PDF - chybi obrazky
    Skoro spravne.

    1. vygeneruji PDF a necham ho ulozeny na serveru

    2. poslu email s prilohou toho PDF

    3. ukazu link (PHP), aby si mohli PDF stahnout primo

    ad 1. PDF jde zobrazit normalne (Okular-Ubuntu i Adobe-Win7)

    ad 2. priloha je v poradku, jde ulozit i zobrazit

    ad 3. Okular-Ubuntu stahne PDF, ale bez obrazku, Adobe-Win7 nadava, ze je bud spatny typ nebo je poskozeny. Tento soubor je mensi nez original na disku.

      header("Pragma: public");
      header("Expires: 0");
      header("Pragma: no-cache");
      header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
      header("Content-Type: application/force-download");
      header("Content-Type: application/octet-stream");
      header("Content-Type: application/download");
      header('Content-disposition: attachment; filename=' . basename($fileName));
      header("Content-Type: application/pdf");
      header("Content-Transfer-Encoding: binary");
      header('Content-Length: ' . filesize($filename));
    
    14.5.2012 21:53 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: PHP download PDF - chybi obrazky
    A dál, jak se pošle?
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    14.5.2012 21:56 robertK | skóre: 26 | blog: Klokanuv_blog | Brno
    Rozbalit Rozbalit vše Re: PHP download PDF - chybi obrazky
    Je pouzivam tohle
    function send_PDF_file_to_browser($file)
    {
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: public");
    header("Content-Type: application/pdf");
    //header("Content-Disposition: attachment; filename=".basename($file).";" );
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".filesize($file));
    
    readfile($file);
            }
    
    A jeste je mozne se inspirovat zde :)
    15.5.2012 08:27 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: PHP download PDF - chybi obrazky
    Adobe-Win7 nadava, ze je bud spatny typ nebo je poskozeny. Tento soubor je mensi nez original na disku.
    To je klíčová informace. Ten soubor se ze serveru nepošlete celý, obrázky jsou v něm zřejmě až na konci, proto se nezobrazí.

    Mimochodem, 4 hlavičky Content-Type jsou nesmysl, hlavička Content-Transfer-Encoding není součástí standardu HTTP, hlavička Expires s hodnotou 0 taky není zrovna košer ( i když by si s ní klient měl poradit).

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.