Можно ли выделять ключевые слова в тексте, извлеченном с помощью PDFTextStripperByArea? - PullRequest
0 голосов
/ 18 октября 2019

В настоящее время я работаю над этой программой, которая сканирует годовой отчет компании в формате PDF, чтобы выяснить, что они планируют на будущее. Программа должна возвращать текст на каждой странице, где найдены ключевые слова (ключевые слова назначены). Теперь проблема в том, что мне нужно выделять эти ключевые слова жирным шрифтом на распечатанных страницах.

Чего я хочу добиться, так это предоставить пользователям только укороченный текстовый файл страниц с самой важной информацией,это страницы, содержащие ключевые слова, выделенные жирным шрифтом.

Например, в годовом отчете будет "мы собираемся построить фабрику ...", а в результате должно быть "мы собираемся построить afactory ... "

Я применил getTextForRegion в PDFTextStripperByArea, чтобы обрезать всю страницу, на которой находятся ключевые слова.

Я подумываю заменить ключевые слова жирным шрифтомверсии на извлеченных страницах. ...

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 и очень хочу улучшить свои навыки с помощью таких практических проектов, как этот.

...