Files

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>