Как заменить текст в 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 и добавьте его в качестве зависимости в ваше приложение.
Замена текста на определенной странице PDF в Java
В 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-документе в Java
Вы уже знаете, как заменить текст на одной странице. Чтобы заменить все экземпляры определенного текста в 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, такие как: