Free PHP API to Extract Text & Metadata from PDF and Images
Open Source PHP Optical Character Recognition Library allows to Extract Text, Metadata and HTML from PDF, DOCX, Images (JPEG, PNG) & Other Documents in Multiple Languages inside PHP Apps.
在软件开发领域,从不同类型的文件中处理文本既棘手又是常见任务。无论是创建文档管理系统、内容分析工具,还是搜索引擎,能够从 PDF、Word 文档、电子表格以及其他文件格式中提取文本都是至关重要的。这正是 PHP-Apache-Tika 库发挥价值的地方。Apache Tika 是一个灵活的工具包,用于管理内容分析任务。你可以使用 Tika 从 PDF、Microsoft Office 文件和图像等各种文件类型中提取元数据和文本。Tika 最初是用 Java 编写的,通常部署为独立的服务器,通过 HTTP 访问。此方式让包括 PHP 在内的不同编程语言能够利用 Tika 强大的功能,而无需从头构建复杂的解析过程。
该库支持众多功能,如文本和 HTML 提取、元数据提取、更好的错误处理、OCR 识别、文档标准化元数据、本地和远程资源支持等。PHP-Apache-Tika 库将 PHP 应用与 Apache Tika 服务器桥接。你无需自行编写解析器或转换器,只需使用该库将文档发送到 Tika 服务器,即可获得干净的提取文本或元数据。这不仅简化了开发过程,还确保你的应用受益于 Tika 持续的改进和广泛的格式支持。无论是开发复杂的文档管理系统还是轻量级的内容分析工具,PHP-Apache-Tika 库都提供了可靠且灵活的解决方案。
开始使用 PHP-Apache-Tika
推荐的安装 PHP-Apache-Tika 方法是使用 Composer。请使用以下命令进行顺利安装。
通过 Composer 安装 PHP-Apache-Tika
composer require vaites/php-apache-tika通过 Github 安装 PHP-Apache-Tika
git clone https://github.com/fizzday/OcrPHP.git 你可以从 Github 仓库下载已编译的共享库。
通过 PHP 提取文本和 HTML
PHP-Apache-Tika 库的主要功能之一是能够从各种文档格式中提取文本。这在实现搜索功能或内容分析工具时尤为有用。库支持从文档中提取纯文本,使得索引、搜索或分析内容更加便捷。下面的代码片段演示了 TikaClient 如何将文档发送到 Tika 服务器并获取纯文本内容,以便进一步处理或索引。
如何在 PHP 应用中从文档提取文本?
require_once 'vendor/autoload.php';
use Vaites\ApacheTika\TikaClient;
// Initialize the Tika client with the Tika server URL
$client = new TikaClient('http://localhost:9998');
// Define the path to the document (e.g., PDF, DOCX, etc.)
$filePath = '/path/to/your/document.pdf';
try {
// Extract text content from the document
$extractedText = $client->extract($filePath);
echo "Extracted Text:\n" . $extractedText;
} catch (\Exception $e) {
echo "Error extracting text: " . $e->getMessage();
}
通过 PHP 库提取元数据
除了文本之外,文档通常还包含有价值的元数据,如作者信息、创建日期和文件类型。PHP-Apache-Tika 库可以提取这些元数据,让你构建更丰富的应用。下面的示例演示了如何从文档中获取元数据。返回的数组会根据文件类型及其内容包含各种细节。
如何使用 PHP 库提取元数据?
require_once 'vendor/autoload.php';
use Vaites\ApacheTika\TikaClient;
// Initialize the Tika client
$client = new TikaClient('http://localhost:9998');
// Specify the document file path
$filePath = '/path/to/your/document.pdf';
try {
// Extract metadata from the document
$metadata = $client->getMetadata($filePath);
echo "Extracted Metadata:\n";
print_r($metadata);
} catch (\Exception $e) {
echo "Error extracting metadata: " . $e->getMessage();
}
处理多种文件格式
Apache Tika 的强大之处在于它对多种文件格式的支持。无论是 PDF、DOC、图像,甚至是较少见的文件类型,该库都能帮助你在不必担心特定格式细节的情况下提取所需数据。想象一下,你正在开发一个文档管理系统,用户可以上传不同类型的文件。你可以使用该库来获取每个文件的内容和元数据: