是否可以在使用PDFTextStripperByArea提取的文本中加粗关键字?

时间:2019-10-18 15:13:43

标签: pdf text keyword gettext bold

当前,我正在研究此程序,该程序扫描公司的PDF年度报告,以了解他们对未来的计划。程序必须在找到关键字的每个页面中返回文本(已分配关键字)。现在的问题是,我需要在打印出的页面中将这些关键字加粗。

我要实现的目的只是为用户提供一个简短的文本文件页面,其中包含最重要的信息,即包含粗体关键字的页面。

例如,年度报告为“我们将要建立工厂...”,结果应为“我们将要建立工厂 ...”

我已经在PDFTextStripperByArea中应用了getTextForRegion来裁剪在其中找到关键字的整个页面。

我正在考虑在提取的页面中用粗体替换关键字。 ...

for (int j = 0; j < pagesArr.length; j++) {
PDPage myPage = document.getPage(pagesArr[j]); 
//pagesArr stores the numbers of the pages that contain my keywords

stripper.extractRegions(myPage);                
System.out.println("==================");           
System.out.print(stripper.getTextForRegion("class1").replace(arr[j], 
                 "\033[0;1m" + arr[j])); 
//arr stores the list of my keywords 

System.out.println("==================");
}

...

我将关键字存储在:

String[] arr = keyWordsList.toArray(new String[0]);

我试图在此处打印出的页面中将关键字加粗:

System.out.print(stripper.getTextForRegion("class1").replace(arr[j], 
"\033[0;1m" + arr[j])); 

但是它只打印纯文本。由于文本被裁剪,我怀疑replace()是否合适。 有没有一种方法可以将粗体关键字替换为普通关键字?

我不知道是否应该在此处发布整个程序,因为它看上去很笨拙,输入的PDF和关键字是越南语,可能会不必要地使我的问题变得过于复杂。

如果没有解决方案,您能为我提出一些可行的建议吗?非常感谢你! 我最近才刚开始使用Java,真的想通过这样的实际项目来提高自己的技能。

0 个答案:

没有答案