🤞Интегрируйте iText в Spring Boot для реализации замены контента на основе шаблонов PDF.🤞
Сначала убедитесь, что вы добавили зависимости iText в свой проект Spring Boot. Вы можете добавить следующие зависимости в Maven или Gradle:
<!-- Maven полагаться -->
<!--генерироватьpdf-->
<!-- pdf:start -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13</version>
</dependency>
<dependency>
<groupId>com.itextpdf.tool</groupId>
<artifactId>xmlworker</artifactId>
<version>5.5.13</version>
</dependency>
<!-- Поддержка китайского языка -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
Создайте шаблон PDF со статическим содержимым и заполнителями. Заполнителями могут быть все, что вы хотите заменить во время выполнения, например имена, даты и т. д. Обязательно укажите эти заполнители в шаблоне, чтобы их можно было заменить позже. Для создания шаблонов рекомендуется использовать Adobe Acrobat DC.
Создайте сервисный класс, отвечающий за загрузку шаблонов PDF и замену их содержимого.
import com.itextpdf.io.IOException;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
import org.springframework.stereotype.Service;
import java.io.File;
@Service
public class PdfReplacementService {
public void replaceContent(String templatePath, String outputPath, String name, String date) {
try {
// создавать PdfReader объект
PdfReader reader = new PdfReader(templatePath);
// создавать PdfWriter объект
PdfWriter writer = new PdfWriter(outputPath);
// создавать PdfDocument объект
PdfDocument pdf = new PdfDocument(reader, writer);
// создавать Document объект
Document document = new Document(pdf);
// Заменить содержимое в шаблоне
document.add(new Paragraph("Hello, " + name + "!"));
document.add(new Paragraph("Today is " + date + "."));
// закрытие Document
document.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Создайте класс Controller для обработки запросов на замену PDF-файлов.
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/pdf")
public class PdfController {
@Autowired
private PdfReplacementService pdfReplacementService;
// заменять PDF содержание
@GetMapping("/replace")
public String replaceContent() {
// обозначение PDF шаблонпуть и путь вывода,и предоставитьзаменятьсодержание
String templatePath = "path/to/your/template.pdf";
String outputPath = "path/to/your/output.pdf";
String name = "John Doe";
String date = "2024-05-10";
// заменять PDF содержание
pdfReplacementService.replaceContent(templatePath, outputPath, name, date);
return "PDF content replaced successfully.";
}
}
Запустите приложение Spring Boot и получите доступ к интерфейсу /pdf/replace, чтобы заменить содержимое PDF. Убедитесь, что ваш сервис может правильно заменять содержимое PDF и создавать новые файлы PDF.
Посредством описанных выше шагов был интегрирован iText и реализована функция замены контента на основе шаблонов PDF в Spring Boot. Такой подход делает создание PDF-файлов с динамическим содержимым более гибким и управляемым.
Готово, разбросай цветы и скажи спасибо 🎆🎇🌟 Следуй за мной, чтобы не потеряться, я тебя сниму и сделаю богатым.