当前,我正在研究此程序,该程序扫描公司的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,真的想通过这样的实际项目来提高自己的技能。