Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_017ic4b6Kg9RWSTJzyz6KP9X
103 lines
3.2 KiB
XML
103 lines
3.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<parent>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-parent</artifactId>
|
|
<version>4.1.2</version>
|
|
<relativePath/>
|
|
</parent>
|
|
|
|
<groupId>com.ankurm</groupId>
|
|
<artifactId>pdf-invoice</artifactId>
|
|
<version>1.0.0</version>
|
|
<name>pdf-invoice</name>
|
|
<description>One invoice, three PDF libraries in Spring Boot 4.1: OpenPDF, iText Core (AGPL) and Flying Saucer
|
|
rendering a Thymeleaf template, with Devanagari text and a check of which one shapes it correctly.</description>
|
|
<packaging>jar</packaging>
|
|
|
|
<properties>
|
|
<java.version>25</java.version>
|
|
<openpdf.version>3.0.5</openpdf.version>
|
|
<itext.version>9.8.0</itext.version>
|
|
<flying-saucer.version>10.7.0</flying-saucer.version>
|
|
<pdfbox.version>3.0.8</pdfbox.version>
|
|
<fop.version>2.11</fop.version>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-webmvc</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-thymeleaf</artifactId>
|
|
</dependency>
|
|
|
|
<!-- (a) OpenPDF: LGPL 2.1 / MPL 2.0 -->
|
|
<dependency>
|
|
<groupId>com.github.librepdf</groupId>
|
|
<artifactId>openpdf</artifactId>
|
|
<version>${openpdf.version}</version>
|
|
</dependency>
|
|
|
|
<!-- (b) iText Core: AGPL 3 or a commercial licence. Read the post before you ship this one. -->
|
|
<dependency>
|
|
<groupId>com.itextpdf</groupId>
|
|
<artifactId>kernel</artifactId>
|
|
<version>${itext.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.itextpdf</groupId>
|
|
<artifactId>layout</artifactId>
|
|
<version>${itext.version}</version>
|
|
</dependency>
|
|
|
|
<!-- (c) Flying Saucer: LGPL, renders through OpenPDF -->
|
|
<dependency>
|
|
<groupId>org.xhtmlrenderer</groupId>
|
|
<artifactId>flying-saucer-pdf</artifactId>
|
|
<version>${flying-saucer.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-webmvc-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.pdfbox</groupId>
|
|
<artifactId>pdfbox</artifactId>
|
|
<version>${pdfbox.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<profiles>
|
|
<!-- mvn -Pfop ...: puts Apache FOP on the classpath, which switches on OpenPDF's optional GSUB engine -->
|
|
<profile>
|
|
<id>fop</id>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.xmlgraphics</groupId>
|
|
<artifactId>fop</artifactId>
|
|
<version>${fop.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</profile>
|
|
</profiles>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|