首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中拆分PDF文件,读取它,并返回结果

在PHP中拆分PDF文件,读取它,并返回结果
EN

Stack Overflow用户
提问于 2019-06-30 08:03:16
回答 1查看 2.4K关注 0票数 1

以下是该系统的工作方式:

  1. 管理员上传了一个多页PDF文件,其中每个页面都包含每个用户的唯一代码。
  2. 系统应该将文件分割成不同的页面。
  3. 用户登录。系统将他的ID作为变量( PDF文件中存在的唯一代码)。
  4. 系统只向每个用户显示那些包含其ID的页面。

我没有要求任何代码,只需要一些PDF库的名称,这些库可以完成我正在寻找的事情:)

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-06-30 20:22:07

您可以尝试使用此函数将所有页面从较大的PDF文件拆分为单页PDF文件。

安装

代码语言:javascript
复制
composer require setasign/fpdf
composer require setasign/fpdi

代码

代码语言:javascript
复制
use setasign\Fpdi\Fpdi;

/**
 * Split all of the pages from a larger PDF file into single-page PDF files.
 *
 * @param string $filename The filename of the PDF to split
 * @param string $directory The output directory for the new PDF files
 *
 * @return void
 */
function split_pdf(string $filename, string $directory)
{
    $pdf = new Fpdi();
    $pageCount = $pdf->setSourceFile($filename);
    $file = pathinfo($filename, PATHINFO_FILENAME);

    // Split each page into a new PDF
    for ($i = 1; $i <= $pageCount; $i++) {
        $newPdf = new Fpdi();
        $newPdf->addPage();
        $newPdf->setSourceFile($filename);
        $newPdf->useTemplate($newPdf->importPage($i));

        $newFilename = sprintf('%s/%s_%s.pdf', $directory, $file, $i);
        $newPdf->output($newFilename, 'F');
    }
}

用法

代码语言:javascript
复制
split_pdf('test.pdf', 'split/');
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56823324

复制
相关文章

相似问题

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