【问题标题】:Download and Concat PDF Documents into 1 PDF Document with PHP and JS使用 PHP 和 JS 将 PDF 文档下载并合并为 1 个 PDF 文档
【发布时间】:2018-02-05 04:16:33
【问题描述】:

我正在尝试将几个 PDF 页面合并为 1。访问链接时会自动下载 PDF 文档,它是基于传递的 id_order 动态的。

echo "<script>";
  foreach ($ids as $updateids) {
     $url = '/webtools/index.php?controller=Adminxxx&type=label&id_order='.$updateids.'&token='.Tools::getAdminTokenLite('Adminxxx');
  }
  echo "window.open('$url','_blank')";
echo "</script>";

当我点击超过 1 个复选框时,上面的代码将不起作用。我想将这些页面下载为一个 PDF 以供打印。

我已经阅读了 FPDF 和 FPDI 及其可能性,但我必须事先下载所有文件,对吗?目前,我无法下载多个文档。

否则我正在考虑下载所有 PDF 并在打印前使用 PDFTK 合并它们。

感谢任何指南。

谢谢。

【问题讨论】:

  • 检查我的答案,如果您有任何疑问,请告诉我。

标签: javascript php pdf


【解决方案1】:

你必须先下载FPDF库。

    <?php
    include('pdf/PDFMerger.php');
    $pdf = new PDFMerger;
    //$_POST['pdfFile'] = all the selected pdf files to merge
    if (!empty($_POST['pdfFile'])) {
        for ($i = 0; $i < count($_POST['pdfFile']); $i++) {
            //echo $_POST['pdfFile'][$i];
            $pdf->addPDF('Path of the pdf files/'.$_POST['pdfFile'][$i]);
        }
        $pdf->merge('file', 'path for saving/newfilename.pdf');
        echo 'success';
    } else {
        echo 'error';
    }
    ?>    

【讨论】:

  • 问题也在于下载,因为我只能下载一个。在执行您提供的代码之前,我必须下载多个。
  • 但此代码将所有文件合并为一个文件,然后无需下载多个文件。
  • 我不理解您的代码,因为我需要先检索 PDF,对吗?我帖子中的动态链接会自动下载 PDF 文档。我可以知道我在哪里设置你的代码中的动态链接吗?我需要打开链接来检索文件,对吧?
  • 您是否拥有所有 PDF url 或存储在您的服务器或系统中?
  • PDF url 是动态的,因为我使用 $updateids 来生成动态链接。因此,如果我需要先下载 PDF,我相信您的解决方案有效,否则我根本没有任何要合并的 PDF。也就是说,我的复选框无法下载超过 1 个。
猜你喜欢
  • 2011-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-08
  • 2015-12-02
相关资源
最近更新 更多