build(deps): upgrade backend libraries and migrate to OpenPDF 3 package

This commit is contained in:
matevip 2026-05-17 08:14:11 +08:00
parent e647f1d6cf
commit 8c1eef00f2
2 changed files with 24 additions and 24 deletions

View File

@ -228,26 +228,26 @@
<dependency> <dependency>
<groupId>com.google.zxing</groupId> <groupId>com.google.zxing</groupId>
<artifactId>core</artifactId> <artifactId>core</artifactId>
<version>3.5.3</version> <version>3.5.4</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.google.zxing</groupId> <groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId> <artifactId>javase</artifactId>
<version>3.5.3</version> <version>3.5.4</version>
</dependency> </dependency>
<!-- ===== Playwright (Browser Automation) ===== --> <!-- ===== Playwright (Browser Automation) ===== -->
<dependency> <dependency>
<groupId>com.microsoft.playwright</groupId> <groupId>com.microsoft.playwright</groupId>
<artifactId>playwright</artifactId> <artifactId>playwright</artifactId>
<version>1.52.0</version> <version>1.59.0</version>
</dependency> </dependency>
<!-- ===== JDADiscord Bot Gateway WebSocket 长连接) ===== --> <!-- ===== JDADiscord Bot Gateway WebSocket 长连接) ===== -->
<dependency> <dependency>
<groupId>net.dv8tion</groupId> <groupId>net.dv8tion</groupId>
<artifactId>JDA</artifactId> <artifactId>JDA</artifactId>
<version>5.2.3</version> <version>6.4.1</version>
<exclusions> <exclusions>
<!-- 排除 audio 相关依赖MateClaw 不需要语音功能) --> <!-- 排除 audio 相关依赖MateClaw 不需要语音功能) -->
<exclusion> <exclusion>
@ -267,17 +267,17 @@
<dependency> <dependency>
<groupId>com.slack.api</groupId> <groupId>com.slack.api</groupId>
<artifactId>slack-api-client</artifactId> <artifactId>slack-api-client</artifactId>
<version>1.44.2</version> <version>1.48.1</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.slack.api</groupId> <groupId>com.slack.api</groupId>
<artifactId>bolt-socket-mode</artifactId> <artifactId>bolt-socket-mode</artifactId>
<version>1.44.2</version> <version>1.48.1</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.glassfish.tyrus.bundles</groupId> <groupId>org.glassfish.tyrus.bundles</groupId>
<artifactId>tyrus-standalone-client</artifactId> <artifactId>tyrus-standalone-client</artifactId>
<version>2.2.0</version> <version>2.2.2</version>
</dependency> </dependency>
<!-- ===== Apache POI (in-process .docx generation) ===== --> <!-- ===== Apache POI (in-process .docx generation) ===== -->
@ -302,12 +302,12 @@
<dependency> <dependency>
<groupId>org.apache.xmlgraphics</groupId> <groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-transcoder</artifactId> <artifactId>batik-transcoder</artifactId>
<version>1.18</version> <version>1.19</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.xmlgraphics</groupId> <groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-codec</artifactId> <artifactId>batik-codec</artifactId>
<version>1.18</version> <version>1.19</version>
</dependency> </dependency>
<!-- ===== jsoup (HTML cleanup for Wiki ingest, RFC-051 PR-1c) ===== --> <!-- ===== jsoup (HTML cleanup for Wiki ingest, RFC-051 PR-1c) ===== -->
@ -319,7 +319,7 @@
<dependency> <dependency>
<groupId>org.jsoup</groupId> <groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId> <artifactId>jsoup</artifactId>
<version>1.18.3</version> <version>1.22.2</version>
</dependency> </dependency>
<!-- ===== Apache Tika (RFC-051 PR-?: Java-side last-resort extractor) ===== --> <!-- ===== Apache Tika (RFC-051 PR-?: Java-side last-resort extractor) ===== -->
@ -338,24 +338,24 @@
<dependency> <dependency>
<groupId>org.apache.tika</groupId> <groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId> <artifactId>tika-core</artifactId>
<version>3.0.0</version> <version>3.3.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.tika</groupId> <groupId>org.apache.tika</groupId>
<artifactId>tika-parser-pdf-module</artifactId> <artifactId>tika-parser-pdf-module</artifactId>
<version>3.0.0</version> <version>3.3.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.tika</groupId> <groupId>org.apache.tika</groupId>
<artifactId>tika-parser-microsoft-module</artifactId> <artifactId>tika-parser-microsoft-module</artifactId>
<version>3.0.0</version> <version>3.3.0</version>
</dependency> </dependency>
<!-- ===== Markdown -> PDF rendering ===== <!-- ===== Markdown -> PDF rendering =====
Flying Saucer 9.13 ships a single `flying-saucer-pdf` artifact that Flying Saucer ships a single `flying-saucer-pdf` artifact that
writes PDF via OpenPDF (LGPL fork of iText 5). It does NOT depend on writes PDF via OpenPDF (LGPL fork of iText). It does NOT depend on
PDFBox, so it sidesteps a version conflict with the existing PDFBox, so it sidesteps a version conflict with the existing
pdfbox:3.0.3 dependency. CSS3 paged-media features (@page, pdfbox dependency. CSS3 paged-media features (@page,
counter(page), counter(pages), @top-center / @bottom-center) are counter(page), counter(pages), @top-center / @bottom-center) are
supported, which the cover / header / footer rendering relies on. supported, which the cover / header / footer rendering relies on.
@ -368,7 +368,7 @@
<dependency> <dependency>
<groupId>org.xhtmlrenderer</groupId> <groupId>org.xhtmlrenderer</groupId>
<artifactId>flying-saucer-pdf</artifactId> <artifactId>flying-saucer-pdf</artifactId>
<version>9.13.0</version> <version>10.2.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.commonmark</groupId> <groupId>org.commonmark</groupId>
@ -434,12 +434,12 @@
<dependency> <dependency>
<groupId>net.javacrumbs.shedlock</groupId> <groupId>net.javacrumbs.shedlock</groupId>
<artifactId>shedlock-spring</artifactId> <artifactId>shedlock-spring</artifactId>
<version>5.16.0</version> <version>7.7.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.javacrumbs.shedlock</groupId> <groupId>net.javacrumbs.shedlock</groupId>
<artifactId>shedlock-provider-jdbc-template</artifactId> <artifactId>shedlock-provider-jdbc-template</artifactId>
<version>5.16.0</version> <version>7.7.0</version>
</dependency> </dependency>
<!-- Graph algorithms (community detection, shortest path, centrality) <!-- Graph algorithms (community detection, shortest path, centrality)
@ -447,7 +447,7 @@
<dependency> <dependency>
<groupId>org.jgrapht</groupId> <groupId>org.jgrapht</groupId>
<artifactId>jgrapht-core</artifactId> <artifactId>jgrapht-core</artifactId>
<version>1.5.2</version> <version>1.5.3</version>
</dependency> </dependency>
<!-- PDF parsing for inline image extraction (wiki vision-in pipeline). <!-- PDF parsing for inline image extraction (wiki vision-in pipeline).
@ -456,7 +456,7 @@
<dependency> <dependency>
<groupId>org.apache.pdfbox</groupId> <groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId> <artifactId>pdfbox</artifactId>
<version>3.0.3</version> <version>3.0.7</version>
</dependency> </dependency>
<!-- Expression language used by the workflow compiler to evaluate <!-- Expression language used by the workflow compiler to evaluate
@ -467,7 +467,7 @@
<dependency> <dependency>
<groupId>io.pebbletemplates</groupId> <groupId>io.pebbletemplates</groupId>
<artifactId>pebble</artifactId> <artifactId>pebble</artifactId>
<version>3.2.2</version> <version>4.1.1</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@ -1,6 +1,6 @@
package vip.mate.tool.document.pdf; package vip.mate.tool.document.pdf;
import com.lowagie.text.pdf.BaseFont; import org.openpdf.text.pdf.BaseFont;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.commonmark.ext.autolink.AutolinkExtension; import org.commonmark.ext.autolink.AutolinkExtension;
@ -118,7 +118,7 @@ public class FlyingSaucerPdfBackend implements PdfBackend {
// the output PDF without IDENTITY_H glyph indexing, Chinese characters // the output PDF without IDENTITY_H glyph indexing, Chinese characters
// render as blanks even when the font file is found. // render as blanks even when the font file is found.
// //
// OpenPDF 2.0.5 has a known weakness with Apple-style .ttc font // OpenPDF has a known weakness with Apple-style .ttc font
// collections (PingFang.ttc, STHeiti.ttc, Songti.ttc on macOS): the // collections (PingFang.ttc, STHeiti.ttc, Songti.ttc on macOS): the
// load succeeds but the cmap is empty, charExists returns false even // load succeeds but the cmap is empty, charExists returns false even
// for ASCII, and the rendered PDF is a blank page. We probe the font // for ASCII, and the rendered PDF is a blank page. We probe the font