Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 转换HTML以将正文内容输出为PDF_Javascript_Php_Pdf Generation_Html To Pdf - Fatal编程技术网

Javascript 转换HTML以将正文内容输出为PDF

Javascript 转换HTML以将正文内容输出为PDF,javascript,php,pdf-generation,html-to-pdf,Javascript,Php,Pdf Generation,Html To Pdf,我正在寻找一种方法,当单击按钮/图像(链接)时,将HTML网页正文中的内容转换为pdf 我研究了jspdf和mPDF,但这些解决方案并没有产生我想要的效果 我希望主体标签之间的全部内容是用户可以保存的PDF格式-最好保留所有样式(或尽可能多) 它不应该像一些代码那样简单,基本上生成页面的屏幕截图(尽管这可能包括不必要的东西,如URL栏等,并且可能会使PDF在用户保存到的任何存储设置中都无法检索(但现在这不是优先事项) 总之,我希望有代码(最好是一些简单的JS)来实现捕获body标签中的内容,并根

我正在寻找一种方法,当单击按钮/图像(链接)时,将HTML网页正文中的内容转换为pdf

我研究了jspdf和mPDF,但这些解决方案并没有产生我想要的效果

我希望主体标签之间的全部内容是用户可以保存的PDF格式-最好保留所有样式(或尽可能多)

它不应该像一些代码那样简单,基本上生成页面的屏幕截图(尽管这可能包括不必要的东西,如URL栏等,并且可能会使PDF在用户保存到的任何存储设置中都无法检索(但现在这不是优先事项)

总之,我希望有代码(最好是一些简单的JS)来实现捕获body标签中的内容,并根据用户的命令将其保存为PDF的目标


感谢您的关注和任何见解:-)

尝试使用dompdf,您可以从下载。如果你有任何错误

  • 创建dompdf/lib/php字体lib/classes/目录
  • 下载文件
  • 在zip文件中,获取src/FontLib/文件夹的内容并将其粘贴到dompf/lib/php font-lib/classes/文件夹中
  • 用法

    require_once 'dompdf/dompdf_config.inc.php';
    $html = "<html><body>HTML CODE
    </body></html>";
    $pdf = new DOMPDF();
    $pdf->load_html($html);
    $pdf->render();
    $output = $pdf->output();
    file_put_contents('output folder/file name.pdf', $output);
    $pdf->stream('file name.pdf', array('Attachment' => 0));
    
    require_once'dompdf/dompdf_config.inc.php';
    $html=“html代码
    ";
    $pdf=新的DOMPDF();
    $pdf->load_html($html);
    $pdf->render();
    $output=$pdf->output();
    文件内容('output folder/file name.pdf',$output);
    $pdf->stream('file name.pdf',数组('Attachment'=>0));
    
    制作一个php文件,其中包含生成PDF文件的代码

    例如,demo.php,此文件将包含以下代码

    require_once 'dompdf/dompdf_config.inc.php';
    $html = file_get_contents('test.html');
    $pdf = new DOMPDF();
    $pdf->load_html($html);
    $pdf->render();
    $output = $pdf->output();
    file_put_contents('output folder/file name.pdf', $output);
    $pdf->stream('file name.pdf', array('Attachment' => 0));
    
    现在制作html文件,该文件将包含您想要在pdf文件中显示的内容

    例如test.html

    <html>
    <body>
        <h2>Hello</h2>
    </body>
    </html>
    
    
    你好
    

    现在,当您打开demo.php时,您将获得带有Hello文本的pdf文件

    html是如何创建的?你能在生成HTML的同时生成pdf版本并将其存储在服务器上吗?然后你只需要提供一个相关PDF的链接…嗨,Ella。不,实际上,内容来自Wordpress页面,该页面是通过在选定日期运行查询生成的,该查询将显示当天的事件列表(日历,您可以单击“查看所有事件”)然后,它会为该日期生成一个包含所有事件的页面。从那里,我希望能够为用户提供单击显示“保存为PDF”的图像或文本的功能,并将页面转换为PDF。如果您使用某种屏幕截图,则PDF将是一个图像。通常这意味着它更大、质量更低,无法搜索或文本选择/读取等。由于HTML和PDF非常不同,您的最佳结果通常是从某个源渲染为两个PDF。因为您正试图从您可能需要在PDF结果上妥协。谢谢。这不是真正的问题,页面主要是文本。您可以使用
    $paper\u size=array(0,0,H,W);$PDF->set\u paper($paper\u size)更改页面大小
    非常感谢。我马上就要开始尝试,希望我能带着一个成功的故事和投票回来:-)如果你有任何问题,请告诉我我需要在那里添加标签和其他标记吗?我能不能把这个包在我的身体标签上?在我看来,这将导致与其中的pages标记以及正文发生冲突,我可能只需要选择一些DIV或某个容器。我担心的是,我不想在其中硬编码HTML内容,即-$HTML=“HTML code”;相反,我想呈现页面上已经存在的内容,而不必将内容放在变量中。如果仍然出现致命错误,请确保demo.php和test.html位于同一目录中:未找到类“Font”错误从此处下载dompdf的新副本再次感谢。我要试试这个…但让我问一下:有可能传入一个动态URL吗?我如何实现这一点?我试着给你发一条私人信息或聊天,这样就不会一直给我发信号说这太长了,可能会结束这个问题。