javascript - 在 PHP 中将 HTML 页面保存为 PDF

标签 javascript php html pdf tcpdf

我需要将 url 转换为 pdf

我尝试使用 tcpdf 但出现如下错误: 注意: undefined offset :4 in/opt/lampp/htdocs/IBI/tcpdf/tcpdf.php on line 17218 TCPDF 错误:部分数据已输出,无法发送 PDF 文件

我认为问题在于页面有html和js和CSS

这是尝试过的代码和网址:

// Include the main TCPDF library (search for installation path).
require_once('tcpdf_include.php');

// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 006');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');

// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 006', PDF_HEADER_STRING);

// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));

// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

// set some language-dependent strings (optional)
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
    require_once(dirname(__FILE__).'/lang/eng.php');
    $pdf->setLanguageArray($l);
}

// ---------------------------------------------------------

// set font
$pdf->SetFont('dejavusans', '', 10);

// add a page
$pdf->AddPage();
// test some inline CSS
$html = file_get_contents("http://dvns.me/mahmoud/IBI/");
$pdf->writeHTML($html, true, false, true, false, '');

//Close and output PDF document
$pdf->Output(time().'.pdf', 'I');

//============================================================+
// END OF FILE
//============================================================+

最佳答案

尝试在 require() 之前插入 ob_clean(),例如

ob_clean()
// set document information
$pdf->SetCreator(PDF_CREATOR);

请参阅reference hererelated issue here .

关于javascript - 在 PHP 中将 HTML 页面保存为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29606452/

相关文章:

javascript - 为什么我们不能像向现有对象添加新属性一样向对象构造函数添加新属性?

javascript - 是否建议使用 $watch 而不是绑定(bind)到大型 Angular 应用程序中的函数以提高性能?

php - 当购物篮中有 Woocommerce 中的商品时添加自定义主体类

javascript - 重新选择并上传相同的文件

html - 更改CSS中表类中所有td的颜色

javascript - 使用 Javascript 和 HTML 创建一个清晰的按钮

javascript - 从数组创建对象数组

php - 检测用户是否在子域上,然后使用 PHP 添加变量?

javascript - 将数据库行打印到数组中以与 JavaScript 一起使用进行过滤

html - ul 标签未正确拉伸(stretch)并给出一些奇怪的边距错误