murkrow/pdf-utils

适用于 Laravel 应用的 poppler-utils 包装器

0.4 2023-10-18 08:42 UTC

This package is auto-updated.

Last update: 2024-09-18 10:44:05 UTC


README

Latest Stable Version Total Downloads

为您的 Laravel 项目包装 popper-utils

先决条件

确保您的系统已安装 poppler-utils。您可以使用以下命令安装

sudo apt-get install poppler-utils

或者如果您正在使用 Mac

brew install poppler

安装

您可以通过 composer 安装此软件包

composer require murkrow/pdf-utils

您可以使用以下命令发布配置文件

php artisan vendor:publish --provider="Murkrow\PdfUtils\PdfUtilsServiceProvider"

用法

将 PDF 转换为文本

use Murkrow\PdfUtils\Services\ParsePdfTextService;
ParsePdfTextService::create()
        ->setInputFile("example.pdf")
        ->flattenText(false)
        ->execute()
        ->getOperationResult()

将多个 PDF 合并为一个

use Murkrow\PdfUtils\Services\MergePdfService;
MergePdfService::create()
        ->setInputFiles(["1.pdf", "2.pdf"])
        ->addInputFile("3.pdf")
        ->setOutputFile("123.pdf")
        ->execute();

将 PDF 分割为多个 PDF

use Murkrow\PdfUtils\Services\SplitPdfService;
SplitPdfService::create()
        ->setInputFile("123.pdf")
        ->setOutputFilesDirectory("splitting")
        ->fromPage(1)
        ->toPage(3)
        ->setOutputFileNamePrefix("output")
        ->execute();

从 PDF 中提取页码范围

use Murkrow\PdfUtils\Services\ExtractPdfPageRangeService;
ExtractPdfPageRangeService::create()
    ->fromPage(1)
    ->toPage(2)
    ->setInputFile('big.pdf')
    ->setOutputFile('subset.pdf')
    ->execute();
        

获取 PDF 信息(不完整)

use Murkrow\PdfUtils\Services\GetPdfInfoService;
$result = GetPdfInfoService::create()
        ->setInputFile("123.pdf")
        ->execute();

dd($result->pages);

测试

vendor/bin/pest

贡献

欢迎贡献,您可以自由地打开一个 PR 或一个问题。

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件