casonwebdev/pdf-to-text

从PDF中提取文本

1.2.0 2020-04-04 07:10 UTC

This package is auto-updated.

Last update: 2024-09-04 17:00:17 UTC


README

Latest Version on Packagist Software License Build Status Quality Score Total Downloads

此包提供了一个类,用于从PDF中提取文本。

use Spatie\PdfToText\Pdf;

echo Pdf::getText('book.pdf'); //returns the text from the pdf

Spatie是一家位于比利时安特卫普的网络设计公司。您可以在我们的网站上找到我们所有开源项目的概述这里

Postcardware

您可以使用此包(它是MIT许可的),但如果它进入您的生产环境,您需要向我们寄送一张来自您家乡的明信片,说明您正在使用我们的哪个包。

我们的地址是:Spatie,Samberstraat 69D,2060 安特卫普,比利时。

最好的明信片将被发布在我们的网站上开源页面。

要求

幕后,此包利用pdftotext。您可以通过发出此命令来验证系统上安装的二进制文件

which pdftotext

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

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

apt-get install poppler-utils

如果您在RedHat或CentOS上,请使用此命令

yum install poppler-utils

安装

您可以通过composer安装此包

composer require spatie/pdf-to-text

用法

从PDF中提取文本很简单。

$text = (new Pdf())
    ->setPdf('book.pdf')
    ->text();

或者更简单

echo Pdf::getText('book.pdf');

默认情况下,包将假定命令位于

/usr/bin/pdftotext

。如果它位于其他位置,请将其二进制路径传递给构造函数

$text = (new Pdf('/custom/path/to/pdftotext'))
    ->setPdf('book.pdf')
    ->text();

或作为

getText

静态方法的第二个参数

echo Pdf::getText('book.pdf', '/custom/path/to/pdftotext');

有时您可能想使用选项。为此,您可以使用

setOptions

方法设置它们。

$text = (new Pdf())
    ->setPdf('table.pdf')
    ->setOptions(['layout', 'r 96'])
    ->text()
;

或作为

getText

静态方法的第三个参数

echo Pdf::getText('book.pdf', null, ['layout', 'opw myP1$$Word']);

请注意,对

setOptions()

的连续调用将覆盖之前调用中传入的选项。

如果您需要多次调用以添加选项(例如,如果您需要在从容器创建

Pdf

对象时传递默认选项,然后在其他地方添加特定于上下文选项),则可以使用

addOptions

方法

$text = (new Pdf())
    ->setPdf('table.pdf')
    ->setOptions(['layout', 'r 96'])
    ->addOptions(['f 1'])
    ->text()
;

变更日志

有关最近更改的更多信息,请参阅变更日志

测试

 composer test

贡献

有关详细信息,请参阅贡献

安全

如果您发现任何与安全相关的问题,请通过电子邮件freek@spatie.be联系,而不是使用问题跟踪器。

致谢

关于Spatie

Spatie是一家位于比利时安特卫普的网络设计公司。您可以在我们的网站上找到我们所有开源项目的概述这里

许可证

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