Как найти и выделить текст в PDF на Java

Если вы хотите подчеркнуть некоторые важные слова или фразы в PDF-документе, вы можете выделить их ярким цветом, чтобы читатели не упустили их из виду. В этой статье мы расскажем, как найти и выделить определенный текст в PDF на Java с помощью Spire.PDF for Java.
1. Поиск и выделение текста на определенной странице в Java
2. Поиск и выделение текста во всем PDF-документе на Java
Установите необходимую библиотеку
Spire.PDF for Java — это профессиональная Java-библиотека для чтения, создания и работы с PDF-файлами в Java-приложениях.
Если вы создали проект
Maven, вы можете легко импортировать jar в свое приложение с помощью следующих
конфигураций. Для проектов, не использующих Maven, загрузите
Spire.Pdf.jar и добавьте его в качестве зависимости в ваше приложение.
В Spire.PDF for Java вы можете использовать класс PdfTextFinder для
поиска определенного текста на странице. Перед выполнением операции поиска
можно задать параметры поиска, такие как WholeWord и IgnoreCase, с помощью
метода PdfTextFinder.getOptions.setTextFindParameter(). После того как текст
найден, можно применить подсветку, чтобы визуально выделить текст. Следующий фрагмент кода показывает, как найти и выделить текст на
определенной странице PDF-документа на языке Java. import com.spire.ms.System.Collections.Generic.List; import com.spire.pdf.FileFormat; import com.spire.pdf.PdfDocument; import com.spire.pdf.PdfPageBase; import com.spire.pdf.texts.PdfTextFinder; import com.spire.pdf.texts.PdfTextFragment; import com.spire.pdf.texts.TextFindParameter; import java.awt.*; import java.util.EnumSet; public class FindAndHighlightTextInDocument { public static void main(String[] args) { // Create a PdfDocument object PdfDocument doc = new PdfDocument(); // Load a PDF file doc.loadFromFile("C:\Users\Administrator\Desktop\Input.pdf"); // Iterate through the pages in the PDF file for (Object pageObj : doc.getPages()) { // Get a specific page PdfPageBase page = (PdfPageBase) pageObj; // Create a PdfTextFinder object based on the page PdfTextFinder finder = new PdfTextFinder(page); // Specify the find options finder.getOptions().setTextFindParameter(EnumSet.of(TextFindParameter.WholeWord)); finder.getOptions().setTextFindParameter(EnumSet.of(TextFindParameter.IgnoreCase)); // Find the instances of the specified text List results = finder.find("Target Text"); // Iterate through the find results for (PdfTextFragment textFragment: results) { // Highlight text textFragment.highLight(Color.LIGHT_GRAY); } } // Save to a different PDF file doc.saveToFile("output/HighlightTextInDocument.pdf", FileFormat.PDF); // Dispose resources doc.dispose(); } } Первый пример кода
демонстрирует, как выделить текст на определенной странице. Чтобы выделить
текст во всем документе, вы можете пройтись по каждой странице документа,
выполнить операцию поиска и применить выделение к идентифицированному тексту. В этом примере показано,
как найти и выделить текст в PDF-документе на языке Java. import com.spire.ms.System.Collections.Generic.List; import com.spire.pdf.FileFormat; import com.spire.pdf.PdfDocument; import com.spire.pdf.PdfPageBase; import com.spire.pdf.texts.PdfTextFinder; import com.spire.pdf.texts.PdfTextFragment; import com.spire.pdf.texts.TextFindParameter; import java.awt.*; import java.util.EnumSet; public class FindAndHighlightTextInDocument { public static void main(String[] args) { // Create a PdfDocument object PdfDocument doc = new PdfDocument(); // Load a PDF file doc.loadFromFile("C:\Users\Administrator\Desktop\Input.pdf"); // Iterate through the pages in the PDF file for (Object pageObj : doc.getPages()) { // Get a specific page PdfPageBase page = (PdfPageBase) pageObj; // Create a PdfTextFinder object based on the page PdfTextFinder finder = new PdfTextFinder(page); // Specify the find options finder.getOptions().setTextFindParameter(EnumSet.of(TextFindParameter.WholeWord)); finder.getOptions().setTextFindParameter(EnumSet.of(TextFindParameter.IgnoreCase)); // Find the instances of the specified text List results = finder.find("Target Text"); // Iterate through the find results for (PdfTextFragment textFragment: results) { // Highlight text textFragment.highLight(Color.LIGHT_GRAY); } } // Save to a different PDF file doc.saveToFile("output/HighlightTextInDocument.pdf", FileFormat.PDF); // Dispose resources doc.dispose(); } } Заключение В этой статье мы узнали,
как использовать Spire.PDF для Java для поиска и выделения текста в PDF. Кроме
того, эта библиотека поддерживает другие функции обработки PDF, такие как:
Поиск и выделение текста
на определенной странице в Java
Поиск и выделение текста
во всем PDF-документе на Java