itul / pdf-tools
v1.1.2
2024-09-04 18:10 UTC
Requires
- php: >=7.4
- barryvdh/laravel-dompdf: >=2.0
- illuminate/support: >=8.0
- inlinestyle/inlinestyle: 1.*
- itul/functions: >=1.0|dev-master|dev-main
- itul/pdf-data: >=1.0|dev-master|dev-main
- itul/process-records: *
- itul/tesseract: >=1.0|dev-master|dev-main
- mikehaertl/php-pdftk: >=0.13
- simplehtmldom/simplehtmldom: 2.0-RC2
- tecnickcom/tcpdf: >=6.6.2
README
一个常用的方法集合,用于 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是否可搜索。