TCPDF生成器完整的html css页面

时间:2016-11-16 10:28:53

标签: javascript php html pdf tcpdf

我使用TCPDF。我需要全页面转移。

https://ctrlv.cz/shots/2016/11/16/bP51.png

我的输出现在看起来像这样。我现在不知道问题在哪里。他们需要让网站看起来如何html页面(见屏幕1) https://ctrlv.cz/o0dx

我不知道问题出在哪里: - (

     data_request('htmlData'); //načti posledne hodnoty
    $style = file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/css/styles.css');

    require_once 'TCPDF/tcpdf.php';
    $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 061');
    $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 . ' 061', 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('helvetica', '', 10);

// add a page
    $pdf->AddPage();

    $htmlData = html_entity_decode($htmlData);
    $htmlData .= '<style>' . file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/css/styles.css') . '</style>';
// output the HTML content
    $pdf->writeHTML($htmlData, true, false, true, false, '');

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// reset pointer to the last page
    $pdf->lastPage();


// ---------------------------------------------------------
//Close and output PDF document

    $pdf->Output($_SERVER['DOCUMENT_ROOT'] . '/data/files/pdf/' . 'ocpdftesting.pdf', 'F');

1 个答案:

答案 0 :(得分:0)

也许你应该尝试基于webkit的PDF生成器。有一个API:https://pdfapi.io

这会创建相同的PDF,就像您在浏览器中看到HTML一样。

希望有所帮助。