根据DOMPDF的常见问题解答,您可以使用page-break-before和类似的强制分页符.
由于DOMPDF 不支持浮点数,因此我必须使用表格布置页面.
在一个<tr>元素上,我已经放置,style="page-break-before: always"但生成的PDF似乎不遵循此规则.
是因为我把它放在一个tr元素上,而不是一个传统的块元素?
难道我做错了什么?
谢谢.
我有一个以下格式的数组.这个数组有大约100个相同格式的元素.我想DOMPDF使用codeIgniter 使用库以特定格式的表格表示整个数组.
result = Array(
[0] => Array (
['brand'] => x,
['product'] =>p1,
['language']=>English,
);
[1] => Array (
['brand'] => x,
['product'] =>p2,
['language']=>English,
);
);
Run Code Online (Sandbox Code Playgroud)
我喜欢使用<table>标签以下面的格式表示它们html.
Brand x y
Product p1 p2
Language English English
Run Code Online (Sandbox Code Playgroud)
我在寻找想法.我有那些不超过100的数组元素.我想循环它们.
所以在下面的请求后我将发布我的代码.
<?php foreach($result as $res)
{
<table>
<tr>
<td>Brand</td>
<td><?php echo $res['brand'] ?></td>
</tr>
<tr>
<td>Product</td>
<td><?php echo $res['product'] ?></td>
</tr>
<tr>
<td>Language/td>
<td><?php echo $res['language'] ?></td>
</tr>
</table>
}
Run Code Online (Sandbox Code Playgroud)
这将为您提供这样的产品的输出.品牌x
产品p1
语言英语
我如何为其他产品做循环以获得我想要的输出?
注意:每个数组元素中不仅有3个字段.我有30多个领域.可能你认为我这样做只是因为PDF页面中的可打印区域.
我正在使用dompdf库来创建PDF.除此之外,我想合并另一个PDF(它位于特定路径)页面与新创建的PDF.
无论如何使用dompdf或者我们还有其他库吗?
我试图用Dompdf从html文件生成漂亮的pdf,但是我无法在每个页面上画一条线.这是一个php文件的例子.
<?php
require_once("dompdf/dompdf_config.inc.php");
$html = file_get_contents("test.txt");
$html = utf8_decode($html);
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$font = Font_Metrics::get_font("helvetica", "bold");
$canvas = $dompdf->get_canvas();
$footer = $canvas->open_object();
$canvas->line(10,730,800,730,array(0,0,0),1);
$canvas->page_text(555, 750, "{PAGE_NUM}/{PAGE_COUNT}",
$font, 10, array(0,0,0));
$canvas->close_object();
$canvas->add_object($footer, "all");
$dompdf->stream("dompdf_out.pdf", array("Attachment" => false));
?>
Run Code Online (Sandbox Code Playgroud)
这会产生一个pdf,其中每个页面都包含页码,但只有最后一页有一行.
那么如何使用Dompdf在每个页面上绘制线条/图像?
我正在使用Thomas J Bradley的插件在html表单的底部绘制两个签名,然后使用dompdf将其转换为pdf,并使用sendmail通过电子邮件作为附件发送.
一切都运行良好,除了我似乎无法将签名重绘到pdf文件而不将它们保存到磁盘,我想避免.
Bradley先生提供了几种重新生成签名的方法,但我需要一些关于如何将签名数据与表单值一起传递给pdf转换器的建议,最好是"即时"(不将数据保存到磁盘或数据库).
我很感激任何答案.如果您需要任何示例代码,请告诉我.
先感谢您!
我正在使用dompdf 0.6.0生成一个pdf文档,并且有一个奇怪的问题,即在最后创建一个空白页面.我的(简体)html:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>PDF</title>
<style type="text/css">
@page{ margin: 0;}
.page{
width: 612px;
height: 792px;
overflow: hidden;
font-family: Arial, Helvetica;
position: relative;
color: #545554;
page-break-after: always;
}
</style>
</head>
<body>
<div class="page" style="background-image: url(page1.jpg);">
...
</div>
<div class="page" style="background-image: url(page2.jpg);"></div>
<div class="page" style="background-image: url(page3.jpg); color: white;">
...
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
前三页看起来很神奇,但最后有一个空白页面.我读过dompdf对于嵌套和合规等方面很挑剔,但html非常干净并且检查出来.
我正在开始一个新项目,我也是Zend Framework 2的新手.你有什么建议从你想作为变量传递的html代码生成pdf($ html)?我在网上看到DOMPDF非常好,但我不知道如何使用它,查看文档.什么是初学者最简单的方法?
我正在使用dompdf库生成 PDF,但不能使用大表,因为dompdf库不支持它。因此,我更改了表格以使用span标签并使用display: table-cell&对元素进行样式设置display: table-row。
问题是dompdf仍然将这些 span 标签视为表格(因为样式)。
问题:
是否有其他 css 样式可以在不使用display: table-cell&display: table-row和不使用表格的情况下获得相同的外观和感觉?
这是我的代码:
HTML:
<span class="table">
<span class="tr">
<span class="th h2">Request Information</span>
</span>
<span class="tr">
<span class="td">Quote #</span>
<span class="td">sdfsdfsdfsf</span>
</span>
<span class="tr">
<span class="td">Project Number</span>
<span class="td">sdfsdfsdfsd</span>
</span>
<span class="tr">
<span class="td">Account Manager</span>
<span class="td">khksjksjhdf</span>
</span>
<span class="tr">
<span class="td">Customer</span>
<span class="td">ljsljflksjd</span>
</span>
<span class="tr">
<span class="td">Customer Location</span>
<span class="td">
123 Fake …Run Code Online (Sandbox Code Playgroud) 使用Dompdf在pdf文件中存储数据:
这个功能很好用:
$pdf = \App::make('dompdf.wrapper');
$pdf->loadHTML('<h1>Test</h1> ');
return $pdf->stream();
Run Code Online (Sandbox Code Playgroud)
现在,当试试
$pdf = \App::make('dompdf.wrapper');
$pdf->loadHTML('<h1>Test</h1> ');
file_put_contents("test.pdf", $pdf->output());
Run Code Online (Sandbox Code Playgroud)
得到错误:
file_put_contents(test.pdf): failed to open stream: Permission denied
Run Code Online (Sandbox Code Playgroud)
我是否需要创建一些额外的文件夹来保存文件?
Tnx,P
我使用barryvdh/laravel-dompdf包在laravel中生成DOM PDF.通过使用只读模式呈现视图和HTML元素,它工作正常.但是,我正在尝试生成可填写/可编辑的PDF,以便用户可以输入详细信息,而无需在第三方编辑器工具中打开它.
下面是我用来生成带有barryvdh/laravel-dompdf包的PDF的代码片段.
$file = "Storage/pdf/document.pdf";
$data = array("foo" => "bar");
$view = view('pdf.document', $data);
\PDF::loadHTML($view)->setPaper('A4', 'portrait')->setWarnings(false)-save($file);
Run Code Online (Sandbox Code Playgroud)
我也尝试了mpdf niklasravnsborg/laravel-pdf包,但这也是在可读模式下打开.
$data = [
'foo' => 'bar'
];
$pdf = PDF::loadView('pdf.document', $data);
return $pdf->stream('document.pdf');
Run Code Online (Sandbox Code Playgroud)
如果我需要为此代码配置任何选项,请建议我.
dompdf ×10
php ×9
css ×2
laravel-5 ×2
pdf ×2
codeigniter ×1
footer ×1
header ×1
html ×1
html-table ×1
javascript ×1
laravel ×1
line ×1
mpdf ×1
page-break ×1