【问题标题】:make multiple file convert dompdf html to pdf into zip使多个文件将dompdf html转换为pdf到zip
【发布时间】:2017-09-28 15:19:50
【问题描述】:

大家早上好。我有个问题。我只是使用 dompdf 从 html 到 pdf 进行多次导出,然后我想让我的多个批量导出到 zip 文件。有人可以告诉我怎么做吗? nb: 对不起我的英语不好

这是我的散装

function bulk() {

    $action = $this->input->post('action');
    if ($action == "export") {
      $export = $this->input->post('msg');

      for ($i=0; $i < count($export) ; $i++) { 

        $this->load->library('Pdfgenerator');
        $users = $this->model_csv->getDatabyDescription($export[$i]);
        $desc = $users['description'];
        $name =  substr((strrchr($desc, '-')), 2);
        $html = $this->load->view('formulir_new2', $users, true);
        $this->pdfgenerator->generate($html,"E-Tax" . time() . $name, $i);
      }


      // echo "<script type='text/javascript'>";
      //  for($i=0;$i< count($export); $i++){
      //       $users = $this->model_csv->getDatabyDescription($export[$i]);
      //       $desc = $users['description'];
      //       $name =  substr((strrchr($desc, '-')), 2);
      //       // echo "window.open('/pdf/E-tax{time()}{$name}{$i}.pdf');" ;
      //       echo "window.open('/pdf/E-Tax" . time() . $name . $i . ".pdf";
      //  }
      //  echo "</script>";

    }

这是我的 pdf 生成器库

public function generate($html, $filename, $i){

if($i == 0)
{
  define('DOMPDF_ENABLE_AUTOLOAD', false);
}

require_once("./vendor/dompdf/dompdf/autoload.inc.php");
$file_to_save = $_SERVER['DOCUMENT_ROOT'] . '/exportdata/uploads/pdf/';
$dompdf = new dompdf();
$options = new Options();
$options->setIsRemoteEnabled(true);
$dompdf->setOptions($options);
$dompdf->set_paper(array(0,0, 612, 936), 'portrait');
$dompdf->load_html($html);
$dompdf->render();
$abc = $dompdf->output();

file_put_contents($file_to_save.$filename.$i.".pdf", $abc);}

【问题讨论】:

  • 你的代码有什么问题?请提一下,没有人会在这里为您编码:P

标签: php codeigniter pdf zip dompdf


【解决方案1】:

你可以使用ZipArchive

$zip = new ZipArchive ();

$zipfile = "myArchive.zip";
$zip->open ( $zipfile, ZipArchive::OVERWRITE );

for($i = 0; $i < count ( $document ); $i ++) {

    $fileinfo = pathinfo ( $document [$i] );

    if (file_exists ( $document [$i] )) {

        $zip->addFile ( $document [$i],  "myFolder/" . $fileinfo ['filename'] . "." . $fileinfo ['extension'] );
    }

}

$zip->close ();

【讨论】:

  • 您好,非常感谢您对我的帮助,但您能给我一个演示吗?
  • 在我的示例文档中是一个数组,其中包含您生成的所有 pdf。所以你可以把$ document = array ($ file_to_save. $ filename)
猜你喜欢
  • 2011-06-17
  • 2012-12-07
  • 1970-01-01
  • 2020-09-19
  • 1970-01-01
  • 2015-12-19
  • 1970-01-01
  • 2015-02-23
  • 1970-01-01
相关资源
最近更新 更多