我刚刚开始使用mPDF而不是FPDF,而且...我正面临与我的项目有关的一个严重困难。
我想设置DIV,其中通常动态生成的任何内容(即MySQL数据)都必须居中放置,而与大小无关。不幸的是,仅通过了StackOverflow的一些解决方案,我无法做到这一点。
我试图做到这一点:
margin-right:auto;
margin-left:auto;
width: 80%;
Run Code Online (Sandbox Code Playgroud)
但是整个DIV都是拉伸的,只是从一个角到另一个角浮动。任何尝试都无法使文本居中... center标签不起作用,这是mPDF处理HTML代码时最严重的缺陷。
不管大小或长度如何,有人对如何动态居中图像或文本有任何想法吗?
感谢帮助!
如果颜色是在 CSS 中指定的,我有关于让 mpdf 生成带有背景颜色的表格单元格的问题...如果在 css 中指定了背景颜色,它不会显示在生成的 pdf 中,但是如果我指定它在 as 样式中显示。但是,例如井的背景颜色(来自引导程序 css)显示正确,在 css 中定义的背景颜色似乎没有一般问题...
任何想法,可能导致此问题的原因(以及如何解决(除了将所有样式内嵌在 td 标签中):-)。我也尝试过其他 html 到 pdf 解决方案(dompdf,wkhtml2pdf),但结果更糟。
在我的 CSS 中,我有:
.bg-red {
bgcolor: #ff0000;
}
Run Code Online (Sandbox Code Playgroud)
在 PHP 文件中,我有:
<?php
$html = '<head>
<link rel="stylesheet" type="text/css" href="print/print.css">
<link rel="stylesheet" type="text/css" href="css/bootstrap.css">
</head>
<body>
<div class="well">
<table class="table table-bordered">
<tr><td class="bg-red">Red Class (does not work)</td>
<td style="background-color:#ff0000">Red inline style (does work)</td></tr>
</table>
<div class="bg-red">This also works</div>
</div>
</body>';
include("mpdf60/mpdf.php");
$mpdf=new mPDF();
$mpdf->WriteHTML($html);
$mpdf->Output();
exit;
?>
Run Code Online (Sandbox Code Playgroud)
输出:
我想在 pdf 视图中显示很棒的字体图标。我尝试过这样的事情。
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<table class="table table-hover table-bordered">
<thead>
<tr>
<th>#</th>
<th>Account</th>
<th>Debit</th>
<th>Credit</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td><?php echo $model->account; ?></td>
<td><i class="fa fa-inr"></i> <?php echo $model->debit; ?></td>
<td><i class="fa fa-inr"></i> <?php echo $model->credit; ?></td>
</tr>
<tr>
<td>2</td>
<td><?php echo $model->against; ?></td>
<td><i class="fa fa-inr"></i> <?php echo $model->credit; ?></td>
<td><i class="fa fa-inr"></i> <?php echo $model->debit; ?></td>
</tr>
<tr>
<td colspan="2"></td>
<td><i class="fa fa-inr"></i> <?php echo $model->credit; ?></td>
<td><i class="fa fa-inr"></i> <?php echo $model->credit; ?></td>
</tr>
</tbody> …Run Code Online (Sandbox Code Playgroud) 我知道也有类似的问题,但是没有一个可以解决我的问题。我要使用mPDF进行以下操作:
Page 1: Text for item 1
Page 2: Full width and height image to cover the page with an image of item 1
Page 3: Text for item 2
Page 4: Full width and height image to cover the page with an image of item 2
...
Run Code Online (Sandbox Code Playgroud)
以下代码以一种我想要实现的方式拉伸图像:
body {
background-image:url("image1.jpg");
background-image-resize: 5;
background-position: top center;
}
Run Code Online (Sandbox Code Playgroud)
但这导致将图像设置在每个页面上(我知道,它是body元素)。所以我尝试了以下方法:
<div style='
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image:url("image1.jpg");
background-image-resize: 5;
background-position: top center;
'></div>
Run Code Online (Sandbox Code Playgroud)
但这是行不通的。所以我尝试了相同的代码,只是用了颜色,而不是图像:
<div …Run Code Online (Sandbox Code Playgroud) 我通过zip文件(不是作曲家)安装了mPDF 6.0,将一个字体放入ttfonts文件夹,并在config_fonts.php中添加了这样的文件,如下所示:
"eurostyle" => array( /* Custom */
'R' => "eurostyle-normal.ttf"
)
Run Code Online (Sandbox Code Playgroud)
现在我尝试将字体添加到我的mPDF对象中,如下所示:
$mpdf = new mPDF('c', 'A4-L');
$mpdf -> SetFont('eurostyle');
Run Code Online (Sandbox Code Playgroud)
但没有变化.没有错误消息,输出PDF简洁保持不变.
有人知道为什么吗?
我想将图像居中mpdf(版本 6>)。
这是我发送到 mpdf 的(缩短的)html 输出。该displayed班没有帮助。
<style>
IMG.displayed {
display: block;
margin-left: auto;
margin-right: auto }
</style>
<img style="max-height:600px" class="displayed" src="/images/size_original/m_princezna_1.jpg"/>
Run Code Online (Sandbox Code Playgroud) 使用PHP 5.6在WAMP堆栈上开发,然后转移到LAMP 7.1.5一切正常,除了mPDF 6.1.0,它提供以下内容:
Warning: A non-numeric value encountered in /var/sites/s/example.com/php_libs/vendor/mpdf/mpdf/mpdf.php on line 30648
Warning: A non-numeric value encountered in /var/sites/s/example.com/php_libs/vendor/mpdf/mpdf/mpdf.php on line 17074
Warning: A non-numeric value encountered in /var/sites/s/example.com/php_libs/vendor/mpdf/mpdf/mpdf.php on line 17075
Warning: A non-numeric value encountered in /var/sites/s/example.com/php_libs/vendor/mpdf/mpdf/mpdf.php on line 17093
Run Code Online (Sandbox Code Playgroud)
我尝试了在升级到PHP7.1和MPDF时提到的解决方案显示错误 - 在第30648行遇到的非数字值但是没有修复它.
注意:mpdf 6.0
你好,
我正在尝试使用需要精确定位元素以供以后打印的 mpdf 生成 pdf。元素将从给定页面的最左上角开始绘制,即不应有隐式填充、边距或其他可能影响元素在正文中的位置的东西。
问题: mpdf 似乎忽略 CSS 和在构造函数中传递的有关文档根的边距/填充的值。正文被 PDF 文档中的边距包围(或正文正在填充子元素)。不过,mpdf 确实使用了样式表。 观察:提供给 mpdf 的相同 HTML 以及相同的样式表在浏览器中产生看似正确的结果(查看 HTML)。
$mpdf = new Mpdf([
//'debug' => true,
'format' => 'A4',
'margin_left' => 0,
'margin_right' => 0,
'margin_top' => 0,
'margin_bottom' => 0,
'margin_header' => 0,
'margin_footer' => 0
]);
Run Code Online (Sandbox Code Playgroud)
...我尽可能将内边距和边距设置为 0,尤其是:
body {
margin: 0mm;
padding: 0mm;
}
Run Code Online (Sandbox Code Playgroud)
我不知道我哪里出错了。你对我如何解决这个问题有什么建议吗?
我在 PHP 中使用 mpdf 库从 HTML 创建一个 pdf 文件。我需要在自定义模式下设置页面模式
我一直在尝试生成多个 pdf。我该怎么做?
我尝试使用 for 循环,但我不知道如何继续。
for ($i = 0; $i < 10; $i++) {
$mpdf = new mPDF();
$mpdf->WriteHTML('<p>Only test$i</p>');
$mpdf->Output("Document_name$i.pdf", "D");
}
exit;
Run Code Online (Sandbox Code Playgroud)
我预计此脚本将下载 10 个文档。