2010-10-06 2 views
1

Я использую класс html2pdf для генерации pdf. в моей проблеме его генерировать pdf для html-кода, но он не дает опции диалогового окна для загрузки этого pdf. PLZ помочь моей козе следует.pdf download html2pdf

<?php 
ob_start(); 
include(dirname(__FILE__).'/res/pdf_demo.php'); 
$content = ob_get_clean(); 

// conversion HTML => PDF 
require_once(dirname(__FILE__).'/../html2pdf.class.php'); 
try 
{ 
    $html2pdf = new HTML2PDF('P','A4', 'fr', false, 'ISO-8859-15'); 
    $html2pdf->pdf->SetDisplayMode('fullpage'); 
    $html2pdf->writeHTML($content, isset($_GET['vuehtml'])); 
    $html2pdf->Output('pdf_demo.pdf'); 
} 
catch(HTML2PDF_exception $e) { echo $e; } 
?> 
+0

Вы говорите, что браузер не запрашивает загрузку этого файла PDF-файла? Это нормально, если вы установили плагин pdf из Adobe ... В моем случае браузер просто «откроет» pdf в браузере. –

ответ

2

Чтобы предложить загрузку из браузера и нужно добавить заголовок для будучи приложением ...

header("Content-Disposition: attachment; filename=sample.pdf"); 

Добавьте приведенный выше код в начале страницы, а затем продолжить с преобразованием HTML2PDF ..

7

Из документации, метод Output

/** 
    * Send the document to a given destination: string, local file or browser. 
    * Dest can be : 
    * I : send the file inline to the browser (default). The plug-in is used if available. The name given by name is used when one selects the "Save as" option on the link generating the PDF. 
    * D : send to the browser and force a file download with the name given by name. 
    * F : save to a local server file with the name given by name. 
    * S : return the document as a string. name is ignored. 
    * FI: equivalent to F + I option 
    * FD: equivalent to F + D option 
    * true => I 
    * false => S 
    * 
6

Изменение этой линии $html2pdf->Output('pdf_demo.pdf'); - $html2pdf->Output('pdf_demo.pdf', 'D');, и это заставит браузер автоматически загружать PDF-файл.

3

Отправить PDF в браузере с определенным именем

$ html2pdf-> Выход ('document_name.pdf');

$ html2pdf-> Результат ('document_name.pdf', false);

$ html2pdf-> Выход ('document_name.pdf', '');

$ html2pdf-> Выход ('document_name.pdf', 'I');

Force браузер для загрузки файла PDF с определенным именем

$ html2pdf-> Выход ('document_name.pdf', 'D');

Записывает содержимое файла PDF на сервере

Внимание, это писание на сервере необходимо использовать с осторожностью. Не ведется проверка наличия файла

$ html2pdf-> Выход ('directory/filename_xxxx.pdf', 'F');

Получить содержимое PDF, а затем делать все, что вы хотите

$ content_PDF = $ html2pdf-> Выход ('', правда);

$ content_PDF = $ html2pdf-> Выход ('', 'S');

Смежные вопросы