小编Jav*_*let的帖子

使用 PHP+DomPDF 生成缓慢的 PDF

我花了一段时间处理使用 DomPDF 的非常缓慢的 PDF 生成过程。经过大量的摆弄和谷歌搜索,我最终得到了一个解决方案,我想我会发布该解决方案,以防你们中的一些人正在处理同样的问题。

问题:我管理的电子商务网站具有允许卖家下载 PDF 文件的功能,其中包含他们已完成的采购订单(基本上是向买家显示的购买确认的副本)。这一直工作正常。当我部署了一项附加功能以允许卖家下载单个PDF 文件时,问题就开始了,其中包含在用户定义的一组日期之间生成的所有采购订单。当需要导出为单个 PDF(每页一个)的采购订单数量超过 20-30 时,该过程变得非常缓慢(如 30-60 秒)。

从数据库中获取数据并解析它不是问题。构建后来导出到 PDF 的视图也不是问题(即使有数百个订单,将 HTML 输出到屏幕也只需要几分之一秒),所以我基本上确定 dompdf 是问题所在。

设置如下: 1.- MySQL 数据库 2.- 应用服务器:多个负载均衡的 PHP+Nginx+PHP-fpm 实例运行 linux 3.- PHP 7.2 4.- dompdf 0.82(最新的) 5.- Codeigniter 3.0.9 6.- 用于格式化布局的 Bootstrap

目标是允许在可接受的时间内在单个 PDF 中下载多个(可能是数百个)采购订单。

php dompdf twitter-bootstrap

2
推荐指数
1
解决办法
4695
查看次数

如何避免dompdf中的分页符

我在我的 pdf 中显示了一些问题答案。但在某些情况下,上一页的问题和答案会出现在下一页。我想避免这种情况。我想在第一页或下一页的同一页中显示问题和答案。我试过CSS如下:

.questiontext
{
  unbreakable: true
}
Run Code Online (Sandbox Code Playgroud)

但它对我不起作用。请帮助我。我添加了 pdf 帮助程序并查看页面如下。

$d_arr=date('Y-m-d H:i:s');
$location_name="test"       
$list_content=$this->generate_form_list($submission_id,$client_id); 


        $filename_proposalpdf="formname.pdf";
        $this->load->helper(array('dompdf', 'file'));
        pdf_create_proposal($list_content,$filename_proposalpdf,true);
Run Code Online (Sandbox Code Playgroud)

在生成表单列表中,我添加了如下视图页面:

public function generate_form_list($id,$client_id)
{
    $data['form_data']=$this->Mobile_app_model->get_form_list($id,$client_id);
    $data['client_data']=$this->Mobile_app_model->get_client_data($client_id);
    $data['client_idsss']=$client_id;
    return $this->load->view('pdf_formlist',$data,true);
}
Run Code Online (Sandbox Code Playgroud)

在视图页面中,我已经显示了如下数据:

<?php
foreach($task_data as $fdata)
{ 
  echo '<p class="questiontext">';echo $fdata['question_text'];echo '</p>';
  echo '<p id="lableanswer">';echo $fdata['answer'];echo '</p>';echo '<br/>';
}
?>
Run Code Online (Sandbox Code Playgroud)

请帮助我如何使两者都在一页中。

css codeigniter dompdf

2
推荐指数
1
解决办法
3409
查看次数

Redis: :setTimeout() 已弃用 PHP 7.2

我开始收到这个错误

遇到 PHP 错误严重性:8192

消息:函数 Redis::setTimeout() 已弃用

文件名:drivers/Session_redis_driver.php

我正在使用 PHP 7.2.27 我能做些什么来解决这个问题

php caching codeigniter redis php-7.2

1
推荐指数
1
解决办法
3958
查看次数

标签 统计

codeigniter ×2

dompdf ×2

php ×2

caching ×1

css ×1

php-7.2 ×1

redis ×1

twitter-bootstrap ×1