我正在使用mPDF库从HTML页面生成PDF文件.它在firefox中工作得很好,但它不是在chrome浏览器中显示PDF文件.
我在chrome中生成PDF时出现以下错误.
以下是我使用mPDF生成PDF的代码
ob_clean();
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $yourFileName . '"');
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');
$mpdf = new PDF( 'c','A4','','',15, 15,10,14,0,0);
$mpdf->useOnlyCoreFonts = false;
$mpdf->SetDisplayMode('real');
$mpdf->list_indent_first_level = 0; // 1 or 0 - whether to indent the first level of a list
$stylesheet = file_get_contents(APPPATH . 'third_party/mpdf/style.css');
$mpdf->WriteHTML($stylesheet,1);
$mpdf->WriteHTML($html);
$mpdf->Output();
Run Code Online (Sandbox Code Playgroud) 我希望能够在我用mpdf创建的文档中附加整个pdf文档.
我可以使用以下代码导入一个页面:
$mpdf->SetImportUse();
$pagecount = $mpdf->SetSourceFile('testfile.pdf');
$tplId = $mpdf->ImportPage($pagecount, 50, 50, 100, 100);
$mpdf->UseTemplate($tplId, '', '', 100, 100);
$mpdf->Output();
Run Code Online (Sandbox Code Playgroud)
但是有没有办法导入所有页面而不仅仅是最后一页?
我正在使用mpdf.当我向WriteHtml()提供阿拉伯语和中文单词时,生成的pdf包含方框而不是那些字体.
请指教!
示例字体:
I am testing ??? ?????? ????
Run Code Online (Sandbox Code Playgroud) 我们在4月份开始在工作服务器上开始受到困扰.我们的应用程序一切正常,直到客户报告PDF不再显示图像.
我们的PDF首先通过HTML渲染生成.显示HTML渲染时,图像显示正确.如果将mPDF中记录的图像URL复制并粘贴到新选项卡中,图像也会正确显示.
但是......如果我们从不同的域加载图像,则图像会正确呈现.通过绝对路径,相对路径或URL路径加载图像都会导致此错误:
mPDF错误:IMAGE错误(http://www.aibsonline.co.uk/logo.gif):找不到图像文件
但是,正如您将看到徽标网址在粘贴时有效.文件权限已经过测试(这就是为什么它在根目录中)作为标准,最多777.在我们目前为止看到的两种情况下,服务器都是Linux服务器.
呈现徽标的HTML代码:
<div id="logo_wrapper" class="left">
<img width="107" height="76" src="<?php echo base_url('logo.gif'); ?>" />
</div>
Run Code Online (Sandbox Code Playgroud)
真的失去了这个,它开始影响越来越多的客户.
任何帮助感激不尽.
UPDATE
如果渲染代码和图像在同一目录中,并且我们不使用绝对路径,则图像呈现,例如.
<img width="107" height="76" src="logo.gif" />
Run Code Online (Sandbox Code Playgroud) 我需要一些mPDF的帮助.我想设置我的自定义页面大小(确切地说:宽度49毫米和高度200毫米),但我找不到解决方案.我找到了mPDF()手册(http://mpdf1.com/manual/index.php?tid=184)但是只有A4,B5等格式.我必须设置自己的页面格式.
我在 Laravel 应用程序中遇到此错误。Mpdf \ MpdfException (E_ERROR) 临时文件目录“/var/www/html/../temp/”不可写
请任何人告诉我解决此问题的解决方案。
mPDF:隐藏表格行(CSS 显示:无)不起作用。你有什么建议吗?我的代码:
<table align="center">
<tr style="display:none">
<td valign="top" align="left">InfoOption1:</td>
<td valign="top" align="left" colspan="2">#InfoOption1</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud) 我目前正在使用 mpdf 从 html 生成 pdf。到目前为止,使用我当前传递的 html,我能够生成带有页眉和页脚的一页 pdf。但是,如果有多个页面,我的页脚会一直到第二页的底部。有没有办法为每个页面添加页眉和页脚?
我已经尝试过 $pdf->setHTMLHeader 但它似乎没有接受我的 css 文件,并且在我的徽标应该在的地方留下了一个 x 。我怎样才能做到这一点?我尝试在不同的地方进行搜索,但似乎找不到解决方案。
这是我的代码
public function generate_pdf($account_id,$transaction_id,$html){
$document_folder = $_SERVER['DOCUMENT_ROOT']."/".DOCUMENT_FOLDER."/".PAYMENT_RECEIPTS."/".date("Y");
$extension = ".pdf";
if(!is_dir($document_folder)){
mkdir($document_folder, 0777,true);
}
$file_name = md5($transaction_id.$account_id);
$this->load->library('m_pdf');
$pdf = $this->m_pdf->load();
$header = $this->load->view('pdfs/header','',true);
$footer = $this->load->view('pdfs/footer','',true);
$pdf->setHTMLHeader($header);
$pdf->setHTMLFooter($footer);
$pdf->AddPage('', // L - landscape, P - portrait
'', '', '', '',
5, // margin_left
5, // margin right
60, // margin top
30, // margin bottom
0, // margin header
0
); // margin footer …Run Code Online (Sandbox Code Playgroud) 我可以在网页上并排保留两个元素,但不能在使用 mPDF 生成的 PDF 中保留两个元素。第一个元素是“div”元素,第二个元素是图像。我尝试设置“显示”属性。但 mPDF 对内联块元素有一些限制。感谢您的帮助。谢谢。
代码结构是这样的:
<div>
<h4><span>Some Text</span></h4>
<span>Some other text</span>
</div>
<img src="some_url">
Run Code Online (Sandbox Code Playgroud)
PDF 是通过 mPDF 的“WriteHTML”函数调用生成的。我将整个 HTML 传递给此函数以将 HTML 写入文档。
我正在尝试使用 mpdf从我的原始所见即所得到 pdf生成 1:1 a4 页面。所以使用这个css:
#editor {
background-color: gray;
border: 1px black;
padding: 1em 2em;
}
.page {
background-color: white;
border-style: solid;
border-color: black;
border-width: 1px;
/*padding: 10em 2em;*/
width: 595px;
height: 841px;
display: flex;
flex-direction: column;
}
.content {
word-wrap: break-word;
overflow-wrap: break-word;
white-space: normal;
padding-left: 2cm;
padding-bottom: 2cm;
padding-top: 2cm;
outline-color: white;
}
.header {
background-color: red;
text-align: center;
}
.footer {
background-color: darkgray;
margin-top: auto;
height: 100px;
page-break-after:right;
}
.brasao {
height: 60px;
width: …Run Code Online (Sandbox Code Playgroud)