将 PDF 转换为字符串 [关闭]

Posted

技术标签:

【中文标题】将 PDF 转换为字符串 [关闭]【英文标题】:Converting PDF to string [closed] 【发布时间】:2011-06-14 10:06:03 【问题描述】:

如何读取PDF文件并将内容放入字符串?使用 php 语言。

【问题讨论】:

如果您需要原始二进制数据或更新您的问题并告诉我们您真正想要什么,请使用file_get_contents 本教程可能对您有所帮助:webcheatsheet.com/php/reading_clean_text_from_pdf.php 我需要从 pdf 文件中获取干净的文本。当我从 pdf 文件中获取文本时,我需要将此文本插入 DB。 【参考方案1】:

您可以使用 linux 上 Xpdf 软件包附带的 pdftotext 之类的东西。然后可以使用 popen 命令将 pdftotext 的输出通过管道传输到字符串中:

$mystring = "";
$fd = popen("/usr/bin/pdftotext blah.pdf","r");
if ($fd) 
    while (($myline = fgets($fd)) !== false) 
        $mystring .= $myline;
    

【讨论】:

xpdf 的下载链接:xpdfreader.com/download.html 和 popen 的链接:php.net/manual/en/function.popen.php【参考方案2】:

发现这个非常好的课程!此外,您可以添加功能以满足您的需求。

PDF2Text - Pastebin

这些可能会帮助您添加功能:

http://www.adobe.com/devnet/pdf/pdf_reference.html

http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf

如果不起作用,请检查在 Adob​​e Reader 中打开时是否可以突出显示/标记文本(如果不能,则文件中的文本可能保存为几何曲线),同时检查编码。

【讨论】:

这个脚本不适合我【参考方案3】:

在您的服务器上安装 APACHE-TIKA。 APACHE-TIKA 支持的不仅仅是 pdf 文件。 安装指南: http://www.acquia.com/blog/use-apache-solr-search-files

最后的代码很简单:

$string = "";
$fd = popen("java -jar yourpathtotika/tika-app-1.3.jar -t yourpathtopdf/sample.pdf","r");
while (!feof($fd))  
$buffer = fgets($fd, 4096); 
$string .= $buffer;

echo $string;

【讨论】:

【参考方案4】:

您可以使用此处提供的 PHP 类:

http://www.pdftotext.eu

这是一个完全用纯 PHP 编写的公共领域 PDF 文本提取器,这意味着您不需要依赖外部命令。它提供了一个简单的接口来检索文本:

include ( 'PdfToText.phpclass' ) ;
$pdf = new PdfToText ( 'mysample.pdf' ) ;
echo "PDF contents are : " . $pdf -> Text . "\n" ;

【讨论】:

死链接,你的意思是pdftotext.com 吗?我找不到你说的课程

以上是关于将 PDF 转换为字符串 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Syncfusion PDF单引号自动转换为制表符空间[关闭]

将字符串自动转换为 pdf 文档的链接

在使用 Libreoffice 将任何文件转换为 pdf 时,它将日语(unicode)字符转换为括号

Xamarin.Forms 未能使用 EvoHtmlToPdfclient 将 html 字符串转换为 pdf 文件

将 Adob​​e PDF 日期字符串转换为 NSDate

如何将 ByteBuffer 转换为 pdf