首页 文章

使用php从HTML生成pdf

提问于
浏览 1244
2

我使用下面的代码生成pdf . 在下面的代码中,所有HTML内容都保存在$ html变量中并使用mpdf库html . 现在在另一个页面中,我想打印该页面的内容,实际上是从php脚本生成的 . 我怎样才能做到这一点 . 是否有任何其他功能可以将html页面的内容直接转换为pdf,而不使用包含所有html代码的变量

<?php
    $html = '
    <h1><a name="top"></a>mPDF</h1>
    <h2>Basic HTML Example</h2>
    This file demonstrates most of the HTML elements.
    <h3>Heading 3</h3>
    <h4>Heading 4</h4>
    <h5>Heading 5</h5>
    <h6>Heading 6</h6>
    <p>P: Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus. Phasellus metus. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien. Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla. Integer sit amet odio sit amet lectus luctus euismod. Donec et nulla. Sed quis orci. </p>

    <hr />

    <div><img src="tiger.wmf" style="float:right;">DIV: Proin aliquet lorem id felis. Curabitur vel libero at mauris nonummy tincidunt. Donec imperdiet. Vestibulum sem sem, lacinia vel, molestie et, laoreet eget, urna. Curabitur viverra faucibus pede. Morbi lobortis. Donec dapibus. Donec tempus. Ut arcu enim, rhoncus ac, venenatis eu, porttitor mollis, dui. Sed vitae risus. In elementum sem placerat dui. Nam tristique eros in nisl. Nulla cursus sapien non quam porta porttitor. Quisque dictum ipsum ornare tortor. Fusce ornare tempus enim. </div>
    <div><img src="klematis.jpg" style="opacity: 0.5; float: left;" />DIV: Proin aliquet lorem id felis. Curabitur vel libero at mauris nonummy tincidunt. Donec imperdiet. Vestibulum sem sem, lacinia vel, molestie et, laoreet eget, urna. Curabitur viverra faucibus pede. Morbi lobortis. Donec dapibus. Donec tempus. Ut arcu enim, rhoncus ac, venenatis eu, porttitor mollis, dui. Sed vitae risus. In elementum sem placerat dui. Nam tristique eros in nisl. Nulla cursus sapien non quam porta porttitor. Quisque dictum ipsum ornare tortor. Fusce ornare tempus enim. </div>

    <blockquote>Blockquote: Maecenas arcu justo, malesuada eu, dapibus ac, adipiscing vitae, turpis. Fusce mollis. Aliquam egestas. In purus dolor, facilisis at, fermentum nec, molestie et, metus. Maecenas arcu justo, malesuada eu, dapibus ac, adipiscing vitae, turpis. Fusce mollis. Aliquam egestas. In purus dolor, facilisis at, fermentum nec, molestie et, metus.</blockquote>

    <address>Address: Vestibulum feugiat, orci at imperdiet tincidunt, mauris erat facilisis urna, sagittis ultricies dui nisl et lectus. Sed lacinia, lectus vitae dictum sodales, elit ipsum ultrices orci, non euismod arcu diam non metus.</address>

    <pre>PRE: Cum sociis natoque penatibus et magnis dis parturient montes, 
    nascetur ridiculus mus. In suscipit turpis vitae odio. Integer convallis 
    dui at metus. Fusce magna. Sed sed lectus vitae enim tempor cursus. Cras 
    sed, posuere et, urna. Quisque ut leo. Aliquam interdum hendrerit tortor. 
    Vestibulum elit. Vestibulum et arcu at diam mattis commodo. Nam ipsum sem, 
    ultricies at, rutrum sit amet, posuere nec, velit. Sed molestie mollis dui.</pre>
';
include("../mpdf.php");

$mpdf=new mPDF(); 

$mpdf->WriteHTML($html);
$mpdf->Output();
exit;
?>

2 回答

  • 0

    根据我的经验,您可以通过将其全部放入变量来执行您的代码正在执行的操作,或者您可以执行以下操作:

    $mpdf->WriteHTML('html here line by line');
    

    对于要添加到pdf的每一行 .

    来自HTML文件:

    $sourceCode = file_get_contents("http://www.domain.com/path/to/page.html");
    

    您的HTML将存储在$ sourceCode中

  • 0

    用这个

    <?php
    require('MPDF.php');
    
    $pdf = new MPDF();
    $pdf->AddPage();
    $pdf->SetFont('Arial','B',16);
    $pdf->Cell(40,10,'Hello World!');
    $pdf->Output();
    ?>
    

相关问题