首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将多个pdfs合并为一个wiht PDFMerger

将多个pdfs合并为一个wiht PDFMerger
EN

Stack Overflow用户
提问于 2016-05-04 07:15:59
回答 1查看 221关注 0票数 0

我尝试从数据库中选择多个PDF文件,并将它们合并为一个。在数据库中存储到pds's的路径。我所做的是存储在行的会话ID中,然后对数据库进行查询并为每个ID选择pdfs。

它只生成一个PDF,第一个来自会话数组。

到目前为止,这就是我所拥有的:

代码语言:javascript
复制
require_once("database.php");
include 'PDFMerger.php';

$files = $_SESSION['itemid'];
print_r($files);
if(is_array($files)) {

$fileFolder='uploads/';
$pdf = new PDFMerger;

foreach($files as $file) {

    $sql = "SELECT files FROM document_upload WHERE upload_id = :id"; 
    $result = $pdo->prepare($sql);
    $result->bindParam(":id", $file);
    $result->execute();                 

    $resArray = $result->fetchAll();

    foreach ( $resArray as $res )
    {
         $items = explode(',', $res["files"]);

         foreach ($items as $item) {

           $pdf->addPDF($fileFolder.$item, 'all')

            ->merge('browser', 'TEST2.pdf');
         }
    }

  }     
}

print_r($files);显示所有文件都在数组中。

print_r($resArray);只显示1pdf ..。数组中的第一个。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-04 12:11:41

是的,您只能得到一个pdf,因为您必须将合并函数放在foreach之外,因为这样您只合并了一个结果。如果你在前额之后合并它们,你就会拥有它们全部。试着像这样

代码语言:javascript
复制
foreach($files as $file) {

    $sql = "SELECT files FROM document_upload WHERE upload_id = :id"; 
    $result = $pdo->prepare($sql);
    $result->bindParam(":id", $file);
    $result->execute();                 

    $resArray = $result->fetchAll();

    foreach ( $resArray as $res )
    {
       $items = explode(',', $res["files"]);

       foreach ($items as $item) {

          $pdf->addPDF($fileFolder.$item, 'all');


       }
    }

}     
$pdf->merge('browser', 'TEST2.pdf');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37020891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档