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