外来字符用Smalot PdfParser getText()切词

问题描述 投票:0回答:1

我正在尝试使用 Smalot PdfParser 从 PDF 中提取文本。

$parser = new \Smalot\PdfParser\Parser();
$pdf = $parser->parseFile(myfile);
$text = $pdf->getText();

它工作得很好,除了外来字符(如 æ ø å ü ẞ)似乎会切断单词。像“Banegård”这样的单词将给出单词“Baneg”和“rd”,并且 å 字符消失了。 这是使用 LibreOffice Writer 默认设置编写的非常简单的 PDF 文件。所以没什么特别的。

谷歌搜索没有给我任何结果,这让我有点惊讶。在 2024 年,这肯定是一件相当简单的事情吗?我错过了什么?

php pdfparser
1个回答
-1
投票

似乎是编码问题。不幸的是,您提供的信息量非常少。您是在普通 PHP 项目中实现 Smalot PdfParser,还是使用框架?如果您使用的是UTF-8,您是否为整个项目定义了UTF-8?

过程中的许多部分都可能会出现输出错误的情况。

  1. 检查PDF文档本身的编码:UTF-8、ISO-8859-1?
  2. Smalot PdfParser 似乎没有指定编码的参数。 尝试了解更多有关 pdf 解析的信息。 (OCR方法或转储明文)
  3. 检查您的 PHP 打印。 (例如,尝试将要打印的文本 (Banegård) 存储在 var 中并使用 var_dump()。检查其格式是否正确。
© www.soinside.com 2019 - 2024. All rights reserved.