当前位置: 首页 > 面试题库 >

使用itextpdf提取的英文文本无法理解

赖淇
2023-03-14
问题内容

我试图从控制台上的pdf中提取并打印英文文本。使用PdfTextExtractor类通过itextpdf
API进行提取。我收到的文字无法理解。可能是我面临的一些语言问题。我的目的是在PDF中找到特定的文本并将其替换为其他字符串。我首先分析文件以查找字符串。以下代码段代表我的字符串提取器:

Document document = new Document();

PdfWriter writer = PdfWriter.getInstance(document,
    new FileOutputStream(OUTPUTFILE));
document.open();
PdfReader reader = new PdfReader(input);
int n = reader.getNumberOfPages();
PdfImportedPage page;
// Go through all pages
for (int i = 1; i <= n; i++) {

    String str=PdfTextExtractor.getTextFromPage(reader, i); 
    System.out.println(str);

}
document.close();

但是即使PDF中的文本为英文,我在控制台上得到的输出也无法理解。

输出:

在其他情况下,请在第109页上的tecnennna
mntoafinir耶鲁大学和Retila律师事务所。鲁尼·唐纳德·埃斯泰·奥尔普维迪·埃德达·埃拉夫·奥德瓦夫·拉洛恩·纳洛斯·拉乌滕布科·拉托滕克斯·卡普尔·拉普顿·科普尔
纳米比亚 罗斯·塞拉斯·塞西·埃尔沃斯

rtasp”。

有人可以帮我解决在源PDF中带来英语文字的可能解决方案吗?任何帮助将不胜感激。


问题答案:

如果要根据文本在页面上的位置对文本进行排序,则需要引入一种特定的策略,例如LocationTextExtractionStrategy

for (int i = 1; i <= reader.getNumberOfPages(); i++) {
    String str=PdfTextExtractor.getTextFromPage(reader, i, new LocationTextExtractionStrategy());
}

LocationTextExtractionStrategy有时会导致奇怪的句子,更具体,如英文字母的页面(字形不同的对同一行文本基线)上的“舞蹈”。在这种情况下,您可以尝试按SimpleTextExtractionStrategy,以按其在PDF语法内容流中出现的顺序返回文本。



 类似资料:
  • 我正在使用下面的python代码从文本框中提取文本 我的HTML(我正在提取文本的网页) 实际上,文本框将包含TRUE或false。我想把它摘录几千页。

  • 本文向大家介绍SQL Server 提取数字、提取英文、提取中文的sql语句,包括了SQL Server 提取数字、提取英文、提取中文的sql语句的使用技巧和注意事项,需要的朋友参考一下

  • 问题内容: 我使用以下代码从特定位置获取PDF数据。我想在该位置显示粗体文本。 首先,创建一个称为fontBasedTextExtractionStrategy的新方法来代替简单的TextExtractionStrategy帮助文本吗?像下面这样 但是又如何正确地称呼它呢? 问题答案: 请看一个例子。在此示例中,我们创建了一个自定义(不是): 该文本将过滤所有文本,以便仅Postscript字体名

  • 1. 英文文本挖掘预处理特点 英文文本的预处理方法和中文的有部分区别。首先,英文文本挖掘预处理一般可以不做分词(特殊需求除外),而中文预处理分词是必不可少的一步。第二点,大部分英文文本都是uft-8的编码,这样在大多数时候处理的时候不用考虑编码转换的问题,而中文文本处理必须要处理unicode的编码问题。这两部分我们在中文文本挖掘预处理里已经讲了。 而英文文本的预处理也有自己特殊的地方,第三点就是

  • 提取的文本:http://pastebin.com/BXFfMy0z 问题pdf:http://www.iwb.ch/media/Unternehmen/Dokumente/inserat_leiter_pm.pdf 如何从该pdf文件中提取正确的文本?

  • 问题内容: 选择日期后,我无法从Ajax日历控件中读取日期 http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/Calendar/Calendar.aspx 我没有收到任何错误,但无法从文本框中获取任何值。 问题答案: 获取文本的调用应为: 不要问我为什么,这只是它的方式一直都是。通过输入元素,您可以更改其属性。