【问题标题】:Merge multiple PDF files into one in PHP [closed]在PHP中将多个PDF文件合并为一个[关闭]
【发布时间】:2013-11-20 06:22:19
【问题描述】:

我想将多个 PDF 文件合并为一个。 PDF 文件位于不同的站点,因此应首先将它们下载并合并到一个站点。

我们使用 PHP 和 Codeigniter。有人知道我的问题的解决方案吗?

【问题讨论】:

标签: php codeigniter pdf


【解决方案1】:

【讨论】:

  • 感谢您的评论。我已经尝试过这个解决方案。 PDF 合并解决方案给出错误:FPDF 错误:文件已加密!。我找不到这个问题的解决方案。此文件没有密码。
【解决方案2】:

是的。我已经合并了pdf。 获取fpdffpdi 库并将它们放入代码点火器第三方文件夹。 那么只需阅读 fpdfi 手册并合并文档即可。 使用它来设置库

 require_once("application/third_party/fpdf/fpdf.php");//http://www.fpdf.org/
 require_once("application/third_party/fpdi/FPDI_Protection.php");//http://www.setasign.de/products/pdf-php-solutions/fpdi/

那么这段 sn-p 代码应该让您了解它是如何工作的。请注意,为了清楚起见,我已经编辑了其中的部分。此示例流式传输 pdf 文件。您可以轻松地将文件保存到其他位置。

    $files = array(<file full paths here>);

$pdf = new FPDI_Protection();
if ($data->password)
{
    $pdf->setProtection(array(),$data->password);
}
for ($i = 0; $i < count($files); $i++ )
{
    $pagecount = $pdf->setSourceFile($files[$i]);
    for($j = 0; $j < $pagecount ; $j++)
    {
        $tplidx = $pdf->importPage(($j +1), '/MediaBox'); // template index.
        $pdf->addPage('L','A4');// orientation can be P|L
        $pdf->useTemplate($tplidx, 0, 0, 0, 0, TRUE);                   
    }
    unlink($files[$i]); // you may not want to unlink the files!
}

$dt = new DateTime(NULL, new DateTimeZone($data->user->timezone));
    // set the metadata.
$pdf->SetAuthor($data->user->user_name);
$pdf->SetCreator('website name!');
$pdf->SetTitle('PDF, created: '.$dt->format(MYHMRS_DATETIME_FRIENDLY));
$pdf->SetSubject('PDF subject !');
$pdf->SetKeywords('website name!'.", keywords! ".$data->user->user_name);
$output = $pdf->Output('', 'S');
$name = "PDF".'-'.$dt->format('ymd').'.pdf';

$this->output
    ->set_header("Content-Disposition: filename=$name;")
    ->set_content_type('Application/pdf')
    ->set_output($output);

至于从其他站点获取 pdf,首先确保您被允许这样做,然后使用 cURL。 (复制网址)。有codeigniter library to do this,也可以使用PHP library

【讨论】:

  • 感谢您的评论。我在我的应用程序中尝试了这个。还有一个问题。我找不到解决方案。是给出错误:FPDF 错误:文件已加密!。文件上没有密码。此错误也发生在 PDF 合并解决方案中,但它也使用了 FDFI 库。
  • 嗯,这个解决方案没问题。它与我的 PDF 文件有关。
猜你喜欢
  • 2011-01-31
  • 2020-10-10
  • 1970-01-01
  • 2016-04-27
  • 2013-06-10
  • 1970-01-01
  • 1970-01-01
  • 2011-06-14
  • 1970-01-01
相关资源
最近更新 更多