【问题标题】:converting extracted html content in to pdf and giving option to download using php将提取的 html 内容转换为 pdf 并提供使用 php 下载的选项
【发布时间】:2012-07-18 10:52:24
【问题描述】:

我有一个 html 内容存储在一个变量中。我必须在下载之前生成一个 pdf 文件

例如 $content="包含测试内容的测试文档"

我正在尝试将此添加到 pdf 文件中,并为用户提供下载选项。

我试过代码

<?php 
header('Content-Type: text/pdf; charset=utf-8');

header('Content-Disposition: attachment; filename=data.pdf');

$output = fopen('output', 'w');

fputcsv($output, $content);
?>

这提供了将文件下载为 pdf 的选项,bt 当我尝试在 pdf 阅读器中打开它时,它显示文件类型 nt 支持.. 还有其他方法可以在 php 中执行此操作吗??

【问题讨论】:

    标签: php html pdf-generation


    【解决方案1】:

    如果您已经有一个包含值的变量,这里是 $content,使用 FPDF (http://www.fpdf.org) 将其变成 PDF 真的很快。

    例如你的变量:

    require('fpdf.php');
    $pdf = new FPDF();
    $pdf->AddPage();
    $pdf->SetFont('Arial','B',16);
    $pdf->Cell(40,10,$content);
    $pdf->Output();
    

    此外,如果您希望您的用户直接下载文件,请写:

    $pdf->Output("Name.pdf","D");
    

    请注意,在 Output() 之前不必发送任何信息; !

    【讨论】:

    • 看起来好像坏了...我没有显示任何错误,bt它也没有下载..在firebug中检查..响应似乎有字体问题..
    • 那么你可以试试 $file=base64_encode($pdf->Output($filename,"S"));然后使用 base64_decode 在新窗口或 javascript 中的弹出窗口中读取它。
    【解决方案2】:

    如果我理解您所说的正确,那么您只是想将一些 html 输出为 PDF 文件。这不是它的工作方式。你需要生成一个PDF,然后把这个内容放在那里。

    我建议看看Zend_Pdf

    下载请看here

    【讨论】:

    • 我试过 dompdf..bt 给我一个错误已弃用:函数 set_magic_quotes_runtime()
    • 这会让我也可以选择下载文件还是只是实时 pdf 生成器?
    猜你喜欢
    • 1970-01-01
    • 2019-04-20
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    • 2018-12-11
    • 1970-01-01
    • 1970-01-01
    • 2013-11-05
    相关资源
    最近更新 更多