我正在使用php的dompdf库从HTML模板生成PDF报告。在该html模板中,有一个目录部分。生成PDF时,我需要更新目录的页码。有谁知道我如何在php的dompdf库中实现这一目标?
提前致谢。
我正在使用dompdf生成PDF.我已经从dompdf网站上获取了一个代码来为pdf添加一个Header并且它正在工作,但是我希望将标题放在每个页面上,除了第一个.有什么建议?
无论如何我可以设置生成的PDF的宽度和高度吗?我想自定义PDF的宽度和高度.通常情况下,这将是一个短的债券纸的大小,但我怎么能定制它?比方说,我希望它的尺寸是200 x 500像素?
任何想法都将非常感谢!干杯!
我使用Dompdf生成一个html2pdf,我的代码是
$html='<div>--content of pdf--</div>';
require_once('resources/dompdf/dompdf_config.inc.php');
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$output = $dompdf->output();
$dompdf->stream("transaction.pdf");
Run Code Online (Sandbox Code Playgroud)
我的pdf现在成功生成了我想在pdf的标题中添加图像所以任何人都可以告诉我如何为Dompdf插入页眉和页脚,特别是在哪里放置标题代码?
各种论坛已经提出了这个问题数百次; 有些已经解决了,有些则没有.我检查了大量资源,但我的问题无法解决.我正在使用基于html表单输入和上传文件的smarty模板生成php页面.使用dompdf,我想将生成的页面保存为pdf文件.当用户提交multipart/form-data时,数据将发布到自身.然后它经历验证过程.当一切正常时,使用模板文件生成新页面.没有输出,相反,dompdf利用模板文件来传输pdf文件.在解决了几个阶段的问题,例如"未找到DOMPDF",内存不足等问题之后,我现在仍然遇到"无法流式传输pdf:已发送的标头"错误.最常见的问题之一是存在断线,调用stream()之前的空格或任何输出.我前后检查了空白区域?还有print_f或echo语句.我该如何解决这个问题?问题在哪里......在smarty模板文件或php文件本身?这是代码:
require_once("dompdf/dompdf_config.inc.php");
spl_autoload_register('DOMPDF_autoload');
$html = $smarty->fetch('index.tpl');
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->set_paper('a4', 'portrait');
$dompdf->render();
$dompdf->stream("newfile.pdf");
Run Code Online (Sandbox Code Playgroud) 一致(意思是每次)我尝试将相对大量的与客户端表单相关的HTML加载到dompdf中我得到主题错误消息,或者偶尔会出现一些其他错误.如果我注释掉PDF文档中9页的任何一个代码,它就可以了.一旦达到某个不确定的临界质量数据,我在过去的变长报告(这是一个总是9页的表格)中遇到了同样的问题.我见过的与此问题相关的其他帖子总是包括后续评论,坚持原始海报提供HTML.我试图这样做,但它远远超过允许的限制.为了减少HTML的数量会导致dompdf渲染没有问题的HTML,所以我不知道如何继续获得解决方案.我可以提供指向该页面的链接,但它需要用户名和密码才能访问,结果页面将包含不供公众使用的信息.如果没有任何帮助,可以有人建议我可以获得帮助的另一个论坛吗?
以下是我可以列出的HTML的一些细节,可能有助于诊断问题:它几乎完全使用HTML表构建.这些表都不跨越多个页面.没有textarea控件.
我正在使用引导网格来显示,我希望我的客户端以pdf格式下载它,因此我正在使用dompdf,但dompdf无法应用引导样式。我无法返回并将引导网格转换为基本的html表,并使用其他插件将其转换为pdf,我发现它们既困难又耗时(尤其是在安装作曲机然后更新我是new的过程中),因此我可以轻松地将引导样式应用于我的pdf
$pr_dt=$_POST['hid'];//div elements which i want ot convert them to pdf and also contain bootstap lib link
include_once("../assets/converter/dompdf/dompdf_config.inc.php");
$dompdf = new DOMPDF();
$dompdf->load_html($pr_dt);
$dompdf->render();
$dompdf->stream("MRA.pdf");
Run Code Online (Sandbox Code Playgroud)
或至少有任何在线转换器将引导网格转换为html表
我正在尝试使用填充了canvas元素的Dompdf打印PDF.
我可以毫无问题地包含和打印png图像,但是当尝试包含画布然后将其转换为png时,它将不会在导出的PDF中显示它(没有损坏的图像等).
该怎么办?
这是一个Codeigniter项目:
使用Dompdf在控制器中加载视图:
$this->load->library('pdf');
$this->pdf->load_view('print_pdf', $data);
$this->pdf->render();
$this->pdf->stream("new_pdf_file.pdf");
Run Code Online (Sandbox Code Playgroud)
要打印的视图:
<!doctype and so on..>
<canvas id="myCanvas" width="578" height="200"></canvas>
<script>
context.beginPath();
context.moveTo(170, 80);
context.bezierCurveTo(130, 100, 130, 150, 230, 150);
context.closePath();
context.lineWidth = 5;
context.fillStyle = '#8ED6FF';
context.fill();
context.strokeStyle = '#0000ff';
context.stroke();
var canvas = document.getElementById("myCanvas");
var img = canvas.toDataURL("image/png");
$(document).ready(function() {
$('<img />', {
src: img
});
img.appendTo($('#testDiv'));
});
</script>
<div id="testDiv">
</div>
<../html>
Run Code Online (Sandbox Code Playgroud) require_once("function/dompdf/dompdf_config.inc.php");
$dompdf = new DOMPDF();
foreach($modules as $module){
$output = "Hello " .$module['name'];
$dompdf->load_html($output);
$dompdf->render();
$output_pdf = $dompdf->output();
file_put_contents($dir . $name_modulo . ".pdf", $output_pdf);
}
Run Code Online (Sandbox Code Playgroud)
致命错误:未捕获异常'DOMPDF_Exception',消息'找不到块级父级.不好.'
我有一个从Codeigniter中的html视图生成的PDF,现在我想将其发送到我的电子邮件中,但是我遇到的麻烦是它显示中有一个字符串,$pdf但是在我的电子邮件中发送时为空。这是整个Codeigniter函数。
public function generatePDF()
{
require_once(APPPATH.'third_party/dompdf/dompdf_config.inc.php');
$dompdf = new Dompdf();
$msg = $this->load->view('credit_agreement_view', '', true);
$html = mb_convert_encoding($msg, 'HTML-ENTITIES', 'UTF-8');
$dompdf->load_html($html);
$paper_orientation = 'Potrait';
$dompdf->set_paper($paper_orientation);
// Render the HTML as PDF
$dompdf->render();
$pdf = $dompdf->output();
// sending the pdf to email
$this->load->library('email');
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://smtp.gmail.com';
$config['smtp_port'] = '465';
$config['smtp_timeout'] = '7';
$config['smtp_user'] = 'support@aurorax.co';
$config['smtp_pass'] = '#######';
$config['charset'] = 'utf-8';
$config['newline'] = "\r\n";
$config['mailtype'] = 'text'; // or html
$config['validation'] = TRUE; // bool whether …Run Code Online (Sandbox Code Playgroud)