Как заменить текст в PDF на Java

Поиск и замена текста в PDF-документах необходимы для обновления отчетов, юридических контрактов или любых других типов документов. Этот процесс включает в себя определение определенных фрагментов текста и замену их новым содержимым, что позволяет пользователям обновлять текст-заместитель, исправлять ошибки или вносить другие изменения в написанное слово.
В этой статье рассказывается о том, как найти и заменить текст в PDF-документе на Java с помощью библиотеки Spire.PDF for Java.
1. Замена текста на определенной странице PDF в Java
2. Замена текста во всем PDF-документе в Java
Установите необходимую библиотеку
Spire.PDF for Java — это профессиональная Java-библиотека для чтения, создания и работы с PDF-файлами в Java-приложениях.
Если вы создали проект
Maven, вы можете легко импортировать jar в свое приложение с помощью следующих
конфигураций. Для проектов, не использующих Maven, загрузите
Spire.Pdf.jar и добавьте его в качестве зависимости в ваше приложение. В Spire.PDF для Java
класс PdfTextReplacer предназначен для замены текста в PDF-документах. Один из
его основных методов, replaceAllText(), позволяет разработчикам заменить все
экземпляры указанного текста на странице новым текстом. import com.spire.pdf.PdfDocument; import com.spire.pdf.PdfPageBase; import com.spire.pdf.texts.PdfTextReplaceOptions; import com.spire.pdf.texts.PdfTextReplacer; import com.spire.pdf.texts.ReplaceActionType; import java.util.EnumSet; public class ReplaceTextInPage { public static void main(String[] args) { // Создаем объект PdfDocument PdfDocument doc = new PdfDocument(); // Загрузка PDF-файла doc.loadFromFile("C:\Users\Administrator\Desktop\Input.pdf"); // Создаем объект PdfTextReplaceOptions PdfTextReplaceOptions textReplaceOptions = new PdfTextReplaceOptions(); // Укажите параметры замены текста textReplaceOptions.setReplaceType(EnumSet.of(ReplaceActionType.IgnoreCase)); textReplaceOptions.setReplaceType(EnumSet.of(ReplaceActionType.WholeWord)); // Получение конкретной страницы PdfPageBase page = doc.getPages().get(0); // Создаем объект PdfTextReplacer на основе страницы PdfTextReplacer textReplacer = new PdfTextReplacer(page); // Устанавливаем параметры замены textReplacer.setOptions(textReplaceOptions); // Заменяем все экземпляры целевого текста новым текстом textReplacer.replaceAllText("old content«, «new content»); // Сохраните документ в другом PDF-файле doc.saveToFile("ReplaceTextInPage.pdf"); // Утилизируем ресурсы doc.dispose(); } } Вы уже знаете, как заменить текст на одной странице. Чтобы заменить все экземпляры определенного текста в PDF-документе новым текстом, достаточно пройтись по каждой странице документа и использовать метод PdfTextReplacer.replaceAllText() для обновления текста на каждой странице. import com.spire.pdf.PdfDocument; import com.spire.pdf.PdfPageBase; import com.spire.pdf.texts.PdfTextReplaceOptions; import com.spire.pdf.texts.PdfTextReplacer; import com.spire.pdf.texts.ReplaceActionType; import java.util.EnumSet; public class ReplaceTextInDocument { public static void main(String[] args) { // Создаем объект PdfDocument PdfDocument doc = new PdfDocument(); // Загрузка PDF-файла doc.loadFromFile("C:\Users\Administrator\Desktop\Input.pdf"); // Создаем объект PdfTextReplaceOptions PdfTextReplaceOptions textReplaceOptions = new PdfTextReplaceOptions(); // Укажите параметры замены текста textReplaceOptions.setReplaceType(EnumSet.of(ReplaceActionType.IgnoreCase)); textReplaceOptions.setReplaceType(EnumSet.of(ReplaceActionType.WholeWord)); for (int i = 0; i < doc.getPages().getCount(); i++) { // Получаем конкретную страницу PdfPageBase page = doc.getPages().get(i); // Создаем объект PdfTextReplacer на основе страницы PdfTextReplacer textReplacer = new PdfTextReplacer(page); // Устанавливаем параметры замены textReplacer.setOptions(textReplaceOptions); // Заменяем все экземпляры целевого текста новым текстом textReplacer.replaceAllText("old content«, «new content»); } // Сохраните документ в другом PDF-файле doc.saveToFile("ReplaceTextInDocument.pdf"); // Утилизируем ресурсы doc.dispose(); } } Заключение В этой статье мы узнали,
как использовать Spire.PDF for Java для замены текста в PDF. Кроме того, эта
библиотека поддерживает другие функции обработки PDF, такие как:
Замена текста на определенной странице PDF в Java
Замена текста во всем PDF-документе в Java