Pergunta

Estou usando a classe HTML2PDF para gerar PDF. No meu problema, ele gera pdf para o código HTML, mas não fornece a opção da caixa de diálogo para baixar esse PDF. Por favor, ajude meu cose está seguindo.

<?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; }
?>
Foi útil?

Solução

Para oferecer download do seu navegador, você precisa adicionar o cabeçalho para ser anexo ...

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

Adicione o código acima no início da página e prossiga com a conversão HTML2PDF.

Outras dicas

A partir da documentação, saída do método

    /**
     * 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
     *

Mude esta linha $html2pdf->Output('pdf_demo.pdf'); para$html2pdf->Output('pdf_demo.pdf', 'D'); E forçará o navegador a baixar automaticamente o arquivo PDF.

Envie PDF para o navegador com um nome específico

$ html2pdf-> output ('document_name.pdf');

$ html2pdf-> output ('document_name.pdf', false);

$ html2pdf-> output ('document_name.pdf', '');

$ html2pdf-> output ('document_name.pdf', 'i');

Forçar o navegador a baixar o arquivo PDF com um nome específico

$ html2pdf-> output ('document_name.pdf', 'd');

Escreva o conteúdo de um arquivo PDF no servidor

Atenção, este escrito no seu servidor deve ser usado com cautela. Nenhuma verificação é feita sobre a existência do arquivo

$ html2pdf-> output ('diretório/filename_xxxx.pdf', 'f');

Recuperar o conteúdo do PDF e depois faça o que quiser

$ content_pdf = $ html2pdf-> output ('', true);

$ content_pdf = $ html2pdf-> output ('', 's');

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top