我有以下代码开始。
<?
require('html2fpdf.php');
$pdf=new HTML2FPDF();
$pdf->AddPage();
$fp = fopen("en/print-job.php?ID=12","r");
$strContent = fread($fp, filesize("en/print-job.php?ID=12"));
fclose($fp);
$pdf->WriteHTML($strContent);
$pdf->Output("home.pdf");
echo "PDF file is generated successfully!";
?>
我有一个名为print-pdf.php的页面,它建立在bootstrap&amp;输出是这样的:
https://www.lotomanager.in/en/print-job.php?ID=12
那么如何将此页面转换为pdf?
我从上面的代码得到以下结果:
警告:fopen(en / print-job.php?ID = 12):无法打开流:没有这样的 第5行/home/loto/public_html/pdf.php中的文件或目录
警告:在第6行的/home/loto/public_html/pdf.php中,en / print-job.php中的文件大小():stat失败?ID = 12
警告:fread()期望参数1为资源,第6行的/home/loto/public_html/pdf.php中给出布尔值
警告:fclose()要求参数1为资源,在第7行的/home/loto/public_html/pdf.php中给出布尔值 PDF文件生成成功!
答案 0 :(得分:1)
试试这个
<?php
require_once 'dompdf/autoload.inc.php';
?>
<?php
// reference the Dompdf namespace
use Dompdf\Dompdf;
// instantiate and use the dompdf class
$html = file_get_contents('http://www.lotomanager.in/en/print-job.php?ID=12');
$dompdf = new Dompdf();
$dompdf->loadHtml($html);
// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'landscape');
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF to Browser
$dompdf->stream();
?>
答案 1 :(得分:0)
不确定你的意思。如果您打算在文档中显示ID:
$dompdf->loadHtml('hello world ' . $_GET['ID'] );
答案 2 :(得分:0)
DOMPDF有一个0 -0.5 0.8 50
方法可以使用。为了安全起见,我还将load_html_file
转换为整数。
$_GET
答案 3 :(得分:0)
你可以通过重构print-job.php来实现这一点,你可以通过某种方式生成HTML,它可以将HTML打印到用户或将其提供给PDF库。
最简单的方法可能是
ob_start();
include('print-job.php');
$html = ob_end_clean();
但是这会导致两个文件中的不同全局变量或某些内容出现问题,并且您必须小心将来对pront-job.php进行更改。所以说更好的清理那里的代码不要直接打印。
更好的方法是根本不使用dompdf + html,而是使用适当的布局专门创建PDF。这是更多的工作,但应该给出更清洁的结果。