itul/pdf-tools

PDF 工具

v1.1.2 2024-09-04 18:10 UTC

This package is auto-updated.

Last update: 2024-09-04 18:11:28 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions

一个常用的方法集合,用于 PDF 生成、操作和转换。

要求

在幕后,这个包利用了 pdftotext。您可以通过运行此命令来验证系统上是否已安装二进制文件:

which pdftotext

如果已安装,它将返回二进制文件的路径。

要安装二进制文件,您可以在 Ubuntu 或 Debian 上使用此命令:

apt-get install poppler-utils

在 Mac 上,您可以使用 brew 安装二进制文件:

brew install poppler

如果您使用的是 RedHat、CentOS、Rocky Linux 或 Fedora,请使用此命令:

yum install poppler-utils

安装

您可以通过 composer 安装此包:

composer require itul/pdf-tools

用法

// Usage description here

通用方法

init()
  • 返回类型:静态
  • 描述:用于初始化类实例的类方法。

修改方法

split($path)
  • 参数
    • $path (string): PDF 文件的路径。
  • 返回类型:数组
  • 描述:将 PDF 分割成单独的页面。
merge(array $paths)
  • 参数
    • $paths (array): 要合并的 PDF 文件的路径数组。
  • 返回类型:字符串
  • 描述:将多个 PDF 文件合并成一个 PDF。
compress($path)
  • 参数
    • $path (string|array): PDF 文件的路径或路径数组。
  • 返回类型:字符串|数组
  • 描述:压缩 PDF 文件。
uncompress($path)
  • 参数
    • $path (string|array): 压缩的 PDF 文件路径或路径数组。
  • 返回类型:字符串|数组
  • 描述:解压缩 PDF 数据。
flatten($path)
  • 参数
    • $path (string|array): PDF 文件的路径或路径数组。
  • 返回类型:字符串|数组
  • 描述:将 PDF 转换为不可选文本。
stamp($path, string $stampPath, $allPages = false)
  • 参数
    • $path (string|array): PDF 文件的路径或路径数组。
    • $stampPath (string): 作为水印使用的 PDF 文件路径。
    • $allPages (bool): 是否在 PDF 的所有页面上添加水印。
  • 返回类型:字符串|数组
  • 描述:使用另一个 PDF 打印 PDF。
fill(string $path, array $data = [])
  • 参数
    • $path (string): PDF 文件的路径。
    • $data (array): 包含表单字段数据的关联数组。
  • 返回类型:字符串
  • 描述:用数据填充 PDF 表单字段。

数据方法

pdfInfo(string $path)
  • 参数
    • $path (string): PDF 文件的路径。
  • 返回类型:\GeneralObject
  • 描述:获取 PDF 信息。
pageCount(string $path)
  • 参数
    • $path (string): PDF 文件的路径。
  • 返回类型:float
  • 描述:获取 PDF 中的页面数。

转换方法

toPdf($path)
  • 参数
    • $path (string|array): 文件的路径或文件路径数组。
  • 返回类型:字符串|数组
  • 描述:将文件转换为 PDF。
toImage(string $path, $format = 'png', $density = 300)
  • 参数
    • $path (string): 文件的路径。
    • $format (string): 转换为的图像格式(默认为 'png')。
    • $density (int): 图像转换的密度(默认为 300)。
  • 返回类型:数组
  • 描述:将文件转换为图像。

HTML 渲染方法

fromHTML(string $html)
  • 参数
    • $html (string): HTML 内容或文件路径。
  • 返回类型:字符串
  • 描述:将 HTML 文件或 HTML 字符串转换为 PDF。
fromView($view, $data = [])
  • 参数
    • $view (string): 视图名称。
    • $data (array): 传递给视图的数据。
  • 返回类型:字符串
  • 描述:将 Laravel 视图渲染为 PDF。
toHTML($path, $raster = false, $gen = true)
  • 参数
    • $path (string): 可填写的 PDF 文件路径。
    • $raster (bool): 是否将 PDF 转换为位图。
    • $gen (bool): 是否生成解析后的 HTML。
  • 返回类型:mixed
  • 描述:将可填写的 PDF 转换为 HTML 表单。
fillableFromHtml(string $pageHtml, string $pageStyle = null)
  • 参数
    • $pageHtml (string): HTML内容或文件路径。
    • $pageStyle (string|null): CSS样式内容或文件路径。
  • 返回类型:字符串
  • 描述: 将单个HTML页面转换为可填写的PDF表单。

OCR方法

toSearchablePdf($files)
  • 参数
    • $files (string|array): 文件路径或文件路径数组。
  • 返回类型:字符串|数组
  • 描述: 将一个或多个文件转换为可搜索的PDF。
asText($path)
  • 参数
    • $path (string|array): PDF文件的路径或PDF文件路径数组。
  • 返回类型: \Illuminate\Support\Collection
  • 描述: 从PDF中提取文本。
isSearchable($path)
  • 参数
    • $path (string): PDF 文件的路径。
  • 返回类型: bool
  • 描述: 检查PDF是否可搜索。