Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用laravel批量打印PDF文件_Laravel_Pdf - Fatal编程技术网

使用laravel批量打印PDF文件

使用laravel批量打印PDF文件,laravel,pdf,Laravel,Pdf,我有一个程序,可以打印学生档案中的个人PDF。我使用Laravel5.7中的niklasravnsborg/LaravelPDF包来实现这一点。它工作得很好,因为我可以将pdf从视图流式传输到浏览器,然后从那里打印 现在我想在一天结束时批量打印PDF,而不是一个接一个地打印。我该怎么做?包存储库中没有关于此的文档 我考虑过几种方法:第一,将每个PDF保存为图像文件,然后在一天结束时打印该文件夹中的所有文件。如果我这样做,我将如何打印该文件夹中的所有文件 下一步:是否有人知道一种方法,可以将一个新

我有一个程序,可以打印学生档案中的个人PDF。我使用Laravel5.7中的niklasravnsborg/LaravelPDF包来实现这一点。它工作得很好,因为我可以将pdf从视图流式传输到浏览器,然后从那里打印

现在我想在一天结束时批量打印PDF,而不是一个接一个地打印。我该怎么做?包存储库中没有关于此的文档

我考虑过几种方法:第一,将每个PDF保存为图像文件,然后在一天结束时打印该文件夹中的所有文件。如果我这样做,我将如何打印该文件夹中的所有文件

下一步:是否有人知道一种方法,可以将一个新的PDF附加到一个包含所有以前循环的PDF的变量中? 例如:

$finalpdf;

$students = Student::all();
foreach($students as $student){
  $pdf = PDF::loadView('pdf.document', $student);

  $finalpdf .+ $pdf; //i know this line doesn't work, but how to alter it?

    return $pdf->save('document.pdf');
}

在玩了几天之后,希望这个解决方案对将来的人有所帮助。我使用了另一个名为“lara pdf合并”的软件包。通过将我的文件写入保存目标,将这些文件添加到合并文件,然后在下载后删除保存的文件,我能够获得我的功能。这是我的控制器代码:

use PDF;
use Illuminate\Filesystem\Filesystem;
use LynX39\LaraPdfMerger\Facades\PdfMerger;


public function batchPrint(){
  $pdfMerger = PDFMerger::init();
  $i = 0;

  $students = Student::whereDate('updated_at', Carbon::today('America/Los_Angeles'))->get();
    foreach ($students as $student) {
      $pdf = PDF::loadView('printTables', compact('student'));
      $pdf->save('pdf/document'.$i.'.pdf');
      $pdfMerger->addPDF('pdf/document'.$i.'.pdf');
      $i++;
    }

  $pdfMerger->merge();
  $pdfMerger->save("file_name.pdf", "browser");

  $file = new Filesystem;
  $file->cleanDirectory('pdf');

}