gpt4 book ai didi

php - mPDF 自动打印问题

转载 作者:可可西里 更新时间:2023-10-31 22:40:26 25 4
gpt4 key购买 nike

我正在使用一个 php 类 mpdf,它可以很好地生成 PDF。我试图让文件在呈现时自动打印(即打开打印对话框)。我用下面的代码扩展了核心功能,将 javascript 添加到 pdf 中。 pdf 已呈现但没有自动打印。任何帮助都会很棒。谢谢!

    require('mpdf.php');
class PDF_JavaScript extends mPDF {
var $javascript;
var $n_js;

function IncludeJS($script) {
$this->javascript=$script;
}
function _putjavascript() {
$this->_newobj();
$this->n_js=$this->n;
$this->_out('<<');
$this->_out('/Names [(EmbeddedJS) '.($this->n+1).' 0 R]');
$this->_out('>>');
$this->_out('endobj');
$this->_newobj();
$this->_out('<<');
$this->_out('/S /JavaScript');
$this->_out('/JS '.$this->_textstring($this->javascript));
$this->_out('>>');
$this->_out('endobj');
}
function _putresources() {
parent::_putresources();
if (!empty($this->javascript)) {
$this->_putjavascript();
}
}

function _putcatalog() {
parent::_putcatalog();
if (!empty($this->javascript)) {
$this->_out('/Names <</JavaScript '.($this->n_js).' 0 R>>');
}
}
}
class PDF_AutoPrint extends PDF_Javascript {
function AutoPrint($dialog=false) { //Embed some JavaScript to show the print dialog or start printing immediately
$param=($dialog ? 'true' : 'false');
$script="print($param);";
$this->IncludeJS($script); } }


$mpdf = new PDF_AutoPrint('', 'Letter', 0, '', 12.7, 12.7, 14, 12.7, 8, 8);

$stylesheet = file_get_contents('eabill.css');
$mpdf->WriteHTML($stylesheet,1);
$mpdf->WriteHTML($message,2);
$mpdf->AutoPrint(true);

$mpdf->Output();

最佳答案

这对我来说可以打印生成的 PDF 文件,我用它来打印没有菜单、横幅等的网站页面内容,只有自己的页眉和页脚内容

$header = 'Document header';
$html = 'Your document content goes here';
$footer = 'Print date: ' . date('d.m.Y H:i:s') . '<br />Page {PAGENO} of {nb}';

$mpdf = new mPDF('utf-8', 'A4', 0, '', 12, 12, 25, 15, 12, 12);
$mpdf->SetHTMLHeader($header);
$mpdf->SetHTMLFooter($footer);
$mpdf->SetJS('this.print();');
$mpdf->WriteHTML($html);
$mpdf->Output();

关于php - mPDF 自动打印问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7169059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com