Anonymous
Apache FOP/Xmlgraphics не может загрузить SVG, если он находится в банке.
Сообщение
Anonymous » 26 ноя 2024, 17:14
У меня есть приложение, использующее Apache FOP для создания PDF-файла, который включает изображение SVG (это логотип, и он каждый раз один и тот же).
Я обнаружил, что оно не включает изображение, если я использую Maven плагин сборки для создания jar-файла с зависимостями.
Я проделал некоторую работу, чтобы сузить его, и кажется, что загрузчик изображений SVG не регистрируется, когда приложение находится в jar-файле - так что это не PDF-часть ФОП как например, это ImageManager, который находится в xmlgraphics-commons.
Я вставил минимальный пример ниже, для него потребуются файлы с именами img.png, img.tiff< /code> и img.svg в текущем каталоге.
Если вы запустите это с помощью mvn exec:java, оно распечатается
Код: Выделить всё
image (image/png)
image (image/tiff)
image (image/svg+xml)
и если вы запустите пакет mvn, а затем java -cp .\target\mavenproject2-1.0-SNAPSHOT-jar-with-dependents.jar project.Mavenproject2 вы получаете
Код: Выделить всё
image (image/png)
image (image/tiff)
Nov 26, 2024 10:19:15 AM project.Mavenproject2 load
SEVERE: Loading img.svg
org.apache.xmlgraphics.image.loader.ImageException: The file format is not supported. No ImagePreloader found for image
at org.apache.xmlgraphics.image.loader.ImageManager.preloadImage(ImageManager.java:181)
at project.Mavenproject2.load(Mavenproject2.java:43)
at project.Mavenproject2.main(Mavenproject2.java:31)
null
Значит, загрузчик SVG недоступен.
Есть ли способ указать FOP зарегистрировать этот загрузчик SVG, иначе его невозможно запустить из jar с зависимостями, и мне стоит поискать другой способ упаковки приложения?
Минимальный пример кода:
Код: Выделить всё
package project;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URI;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.imageio.stream.ImageInputStream;
import org.apache.fop.apps.FopFactoryBuilder;
import org.apache.xmlgraphics.image.loader.ImageException;
import org.apache.xmlgraphics.image.loader.ImageInfo;
import org.apache.xmlgraphics.image.loader.ImageManager;
import org.apache.xmlgraphics.image.loader.ImageSource;
public class Mavenproject2 {
public static void main(String[] args) throws FileNotFoundException, ImageException, IOException {
Mavenproject2 me = new Mavenproject2();
System.out.println(me.load("img.png"));
System.out.println(me.load("img.tiff"));
System.out.println(me.load("img.svg"));
}
public Mavenproject2() {
URI base = URI.create("https://example.com/nowhere");
FopFactoryBuilder ffb = new FopFactoryBuilder(base);
this.imageManager = ffb.getImageManager();
}
private final ImageManager imageManager;
public ImageInfo load(String ff) {
try {
File sourceFile = new File(ff);
ImageInputStream iis = ImageIO.createImageInputStream(sourceFile);
ImageInfo preloadImage = imageManager.preloadImage("image", new ImageSource(iis, "image", true));
return preloadImage;
} catch (IOException | ImageException ex) {
Logger.getLogger(Mavenproject2.class.getName()).log(Level.SEVERE, "Loading " + ff, ex);
}
return null;
}
}
и POM:
Код: Выделить всё
4.0.0
project
mavenproject2
1.0-SNAPSHOT
jar
org.apache.xmlgraphics
fop
2.10
UTF-8
21
project.Mavenproject2
maven-assembly-plugin
3.7.1
package
single
jar-with-dependencies
Использование maven 3.9.9 в Windows11.
[edit] Ведение журнала по запросу @francesco-poli
Когда не в банке (и это работает)
Код: Выделить всё
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader
FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderTIFF with priority 1000
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader
FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderGIF with priority 1000
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader
FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderJPEG with priority 1000
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader
FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderBMP with priority 1000
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader
FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderEMF with priority 1000
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader
FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderEPS with priority 1000
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.PreloaderImageIO with priority 2000
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader
FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderRawPNG with priority 2000
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader
FINE: Registered org.apache.fop.image.loader.batik.PreloaderWMF with priority 1000
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader
FINE: Registered org.apache.fop.image.loader.batik.PreloaderSVG with priority 1000
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/png, Flavor = RenderedImage
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/png, Flavor = BufferedImage
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/vnd.wap.wbmp, Flavor = RenderedImage
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/vnd.wap.wbmp, Flavor = BufferedImage
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/x-png, Flavor = RenderedImage
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/x-png, Flavor = BufferedImage
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/jpeg, Flavor = RenderedImage
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/jpeg, Flavor = BufferedImage
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/tiff, Flavor = RenderedImage
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/tiff, Flavor = BufferedImage
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/bmp, Flavor = RenderedImage
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/bmp, Flavor = BufferedImage
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/gif, Flavor = RenderedImage
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/gif, Flavor = BufferedImage
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/png, Flavor = image/png;Raw
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/jpeg, Flavor = image/jpeg;Raw
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/tiff, Flavor = image/tiff;Raw
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/x-emf, Flavor = image/x-emf;Raw
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRawCCITTFax: MIME = image/tiff, Flavor = RawCCITTFax
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryEPS: MIME = application/postscript, Flavor = application/postscript;Raw
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryInternalTIFF: MIME = image/tiff, Flavor = RenderedImage
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryPNG: MIME = image/png, Flavor = RenderedImage
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.fop.image.loader.batik.ImageLoaderFactorySVG: MIME = image/svg+xml, Flavor = text/xml;DOM;namespace=http://www.w3.org/2000/svg
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.fop.image.loader.batik.ImageLoaderFactoryWMF: MIME = image/x-wmf, Flavor = WMFRecordStore
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter
FINE: Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterBuffered2Rendered
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter
FINE: Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterG2D2Bitmap
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter
FINE: Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterBitmap2G2D
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter
FINE: Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterRendered2PNG
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter
FINE: Registered: org.apache.fop.image.loader.batik.ImageConverterSVG2G2D
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter
FINE: Registered: org.apache.fop.image.loader.batik.ImageConverterG2D2SVG
Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter
FINE: Registered: org.apache.fop.image.loader.batik.ImageConverterWMF2G2D
Когда в банке (и не работает)
Код: Выделить всё
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader
FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderTIFF with priority 1000
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader
FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderGIF with priority 1000
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader
FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderJPEG with priority 1000
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader
FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderBMP with priority 1000
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader
FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderEMF with priority 1000
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader
FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderEPS with priority 1000
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.PreloaderImageIO with priority 2000
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader
FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderRawPNG with priority 2000
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/png, Flavor = RenderedImage
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/png, Flavor = BufferedImage
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/vnd.wap.wbmp, Flavor = RenderedImage
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/vnd.wap.wbmp, Flavor = BufferedImage
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/x-png, Flavor = RenderedImage
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/x-png, Flavor = BufferedImage
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/jpeg, Flavor = RenderedImage
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/jpeg, Flavor = BufferedImage
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/tiff, Flavor = RenderedImage
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/tiff, Flavor = BufferedImage
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/bmp, Flavor = RenderedImage
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/bmp, Flavor = BufferedImage
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/gif, Flavor = RenderedImage
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/gif, Flavor = BufferedImage
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/png, Flavor = image/png;Raw
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/jpeg, Flavor = image/jpeg;Raw
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/tiff, Flavor = image/tiff;Raw
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/x-emf, Flavor = image/x-emf;Raw
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRawCCITTFax: MIME = image/tiff, Flavor = RawCCITTFax
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryEPS: MIME = application/postscript, Flavor = application/postscript;Raw
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryInternalTIFF: MIME = image/tiff, Flavor = RenderedImage
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory
FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryPNG: MIME = image/png, Flavor = RenderedImage
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter
FINE: Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterBuffered2Rendered
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter
FINE: Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterG2D2Bitmap
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter
FINE: Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterBitmap2G2D
Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter
FINE: Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterRendered2PNG
[edit2]
Возможно, что-то не так. Предварительные загрузчики изображений идентифицируются с помощью класса xmlgraphics org.apache.xmlgraphics.util.Service, который сканирует файлы в каталоге META-INF.services внутри jar.
В fop-core.jar/META- INF/services/org.apache.xmlgraphics.image.loader.spi.ImagePreloader – это:
Код: Выделить всё
org.apache.fop.image.loader.batik.PreloaderWMF
org.apache.fop.image.loader.batik.PreloaderSVG
а в xmlgraphics-commons-2.10.jar/META-INF/services/org.apache.xmlgraphics.image.loader.spi.ImagePreloader есть
Код: Выделить всё
org.apache.xmlgraphics.image.loader.impl.PreloaderTIFF
org.apache.xmlgraphics.image.loader.impl.PreloaderGIF
org.apache.xmlgraphics.image.loader.impl.PreloaderJPEG
org.apache.xmlgraphics.image.loader.impl.PreloaderBMP
org.apache.xmlgraphics.image.loader.impl.PreloaderEMF
org.apache.xmlgraphics.image.loader.impl.PreloaderEPS
org.apache.xmlgraphics.image.loader.impl.imageio.PreloaderImageIO
org.apache.xmlgraphics.image.loader.impl.PreloaderRawPNG
Поэтому, если я смешаю различные jar-файлы с помощью плагина сборки, выживет только один из соответствующих служебных файлов - в данном случае он выглядит как последний.
Подробнее здесь:
https://stackoverflow.com/questions/792 ... s-in-a-jar
1732630444
Anonymous
У меня есть приложение, использующее Apache FOP для создания PDF-файла, который включает изображение SVG (это логотип, и он каждый раз один и тот же). Я обнаружил, что оно не включает изображение, если я использую Maven плагин сборки для создания jar-файла с зависимостями. Я проделал некоторую работу, чтобы сузить его, и кажется, что загрузчик изображений SVG не регистрируется, когда приложение находится в jar-файле - так что это не PDF-часть ФОП как например, это ImageManager, который находится в xmlgraphics-commons. Я вставил минимальный пример ниже, для него потребуются файлы с именами img.png, img.tiff< /code> и img.svg в текущем каталоге. Если вы запустите это с помощью mvn exec:java, оно распечатается [code]image (image/png) image (image/tiff) image (image/svg+xml) [/code] и если вы запустите пакет mvn, а затем java -cp .\target\mavenproject2-1.0-SNAPSHOT-jar-with-dependents.jar project.Mavenproject2 вы получаете [code]image (image/png) image (image/tiff) Nov 26, 2024 10:19:15 AM project.Mavenproject2 load SEVERE: Loading img.svg org.apache.xmlgraphics.image.loader.ImageException: The file format is not supported. No ImagePreloader found for image at org.apache.xmlgraphics.image.loader.ImageManager.preloadImage(ImageManager.java:181) at project.Mavenproject2.load(Mavenproject2.java:43) at project.Mavenproject2.main(Mavenproject2.java:31) null [/code] Значит, загрузчик SVG недоступен. Есть ли способ указать FOP зарегистрировать этот загрузчик SVG, иначе его невозможно запустить из jar с зависимостями, и мне стоит поискать другой способ упаковки приложения? Минимальный пример кода: [code]package project; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.net.URI; import java.util.logging.Level; import java.util.logging.Logger; import javax.imageio.ImageIO; import javax.imageio.stream.ImageInputStream; import org.apache.fop.apps.FopFactoryBuilder; import org.apache.xmlgraphics.image.loader.ImageException; import org.apache.xmlgraphics.image.loader.ImageInfo; import org.apache.xmlgraphics.image.loader.ImageManager; import org.apache.xmlgraphics.image.loader.ImageSource; public class Mavenproject2 { public static void main(String[] args) throws FileNotFoundException, ImageException, IOException { Mavenproject2 me = new Mavenproject2(); System.out.println(me.load("img.png")); System.out.println(me.load("img.tiff")); System.out.println(me.load("img.svg")); } public Mavenproject2() { URI base = URI.create("https://example.com/nowhere"); FopFactoryBuilder ffb = new FopFactoryBuilder(base); this.imageManager = ffb.getImageManager(); } private final ImageManager imageManager; public ImageInfo load(String ff) { try { File sourceFile = new File(ff); ImageInputStream iis = ImageIO.createImageInputStream(sourceFile); ImageInfo preloadImage = imageManager.preloadImage("image", new ImageSource(iis, "image", true)); return preloadImage; } catch (IOException | ImageException ex) { Logger.getLogger(Mavenproject2.class.getName()).log(Level.SEVERE, "Loading " + ff, ex); } return null; } } [/code] и POM:[code] 4.0.0 project mavenproject2 1.0-SNAPSHOT jar org.apache.xmlgraphics fop 2.10 UTF-8 21 project.Mavenproject2 maven-assembly-plugin 3.7.1 package single jar-with-dependencies [/code] Использование maven 3.9.9 в Windows11. [edit] Ведение журнала по запросу @francesco-poli Когда не в банке (и это работает) [code]Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderTIFF with priority 1000 Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderGIF with priority 1000 Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderJPEG with priority 1000 Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderBMP with priority 1000 Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderEMF with priority 1000 Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderEPS with priority 1000 Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.PreloaderImageIO with priority 2000 Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderRawPNG with priority 2000 Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader FINE: Registered org.apache.fop.image.loader.batik.PreloaderWMF with priority 1000 Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader FINE: Registered org.apache.fop.image.loader.batik.PreloaderSVG with priority 1000 Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/png, Flavor = RenderedImage Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/png, Flavor = BufferedImage Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/vnd.wap.wbmp, Flavor = RenderedImage Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/vnd.wap.wbmp, Flavor = BufferedImage Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/x-png, Flavor = RenderedImage Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/x-png, Flavor = BufferedImage Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/jpeg, Flavor = RenderedImage Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/jpeg, Flavor = BufferedImage Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/tiff, Flavor = RenderedImage Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/tiff, Flavor = BufferedImage Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/bmp, Flavor = RenderedImage Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/bmp, Flavor = BufferedImage Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/gif, Flavor = RenderedImage Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/gif, Flavor = BufferedImage Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/png, Flavor = image/png;Raw Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/jpeg, Flavor = image/jpeg;Raw Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/tiff, Flavor = image/tiff;Raw Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/x-emf, Flavor = image/x-emf;Raw Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRawCCITTFax: MIME = image/tiff, Flavor = RawCCITTFax Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryEPS: MIME = application/postscript, Flavor = application/postscript;Raw Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryInternalTIFF: MIME = image/tiff, Flavor = RenderedImage Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryPNG: MIME = image/png, Flavor = RenderedImage Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.fop.image.loader.batik.ImageLoaderFactorySVG: MIME = image/svg+xml, Flavor = text/xml;DOM;namespace=http://www.w3.org/2000/svg Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.fop.image.loader.batik.ImageLoaderFactoryWMF: MIME = image/x-wmf, Flavor = WMFRecordStore Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter FINE: Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterBuffered2Rendered Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter FINE: Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterG2D2Bitmap Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter FINE: Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterBitmap2G2D Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter FINE: Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterRendered2PNG Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter FINE: Registered: org.apache.fop.image.loader.batik.ImageConverterSVG2G2D Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter FINE: Registered: org.apache.fop.image.loader.batik.ImageConverterG2D2SVG Nov 26, 2024 12:34:44 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter FINE: Registered: org.apache.fop.image.loader.batik.ImageConverterWMF2G2D [/code] Когда в банке (и не работает) [code]Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderTIFF with priority 1000 Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderGIF with priority 1000 Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderJPEG with priority 1000 Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderBMP with priority 1000 Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderEMF with priority 1000 Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderEPS with priority 1000 Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.PreloaderImageIO with priority 2000 Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerPreloader FINE: Registered org.apache.xmlgraphics.image.loader.impl.PreloaderRawPNG with priority 2000 Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/png, Flavor = RenderedImage Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/png, Flavor = BufferedImage Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/vnd.wap.wbmp, Flavor = RenderedImage Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/vnd.wap.wbmp, Flavor = BufferedImage Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/x-png, Flavor = RenderedImage Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/x-png, Flavor = BufferedImage Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/jpeg, Flavor = RenderedImage Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/jpeg, Flavor = BufferedImage Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/tiff, Flavor = RenderedImage Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/tiff, Flavor = BufferedImage Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/bmp, Flavor = RenderedImage Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/bmp, Flavor = BufferedImage Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/gif, Flavor = RenderedImage Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/gif, Flavor = BufferedImage Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/png, Flavor = image/png;Raw Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/jpeg, Flavor = image/jpeg;Raw Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/tiff, Flavor = image/tiff;Raw Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/x-emf, Flavor = image/x-emf;Raw Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRawCCITTFax: MIME = image/tiff, Flavor = RawCCITTFax Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryEPS: MIME = application/postscript, Flavor = application/postscript;Raw Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryInternalTIFF: MIME = image/tiff, Flavor = RenderedImage Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerLoaderFactory FINE: Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryPNG: MIME = image/png, Flavor = RenderedImage Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter FINE: Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterBuffered2Rendered Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter FINE: Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterG2D2Bitmap Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter FINE: Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterBitmap2G2D Nov 26, 2024 12:37:49 PM org.apache.xmlgraphics.image.loader.spi.ImageImplRegistry registerConverter FINE: Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterRendered2PNG [/code] [edit2] Возможно, что-то не так. Предварительные загрузчики изображений идентифицируются с помощью класса xmlgraphics org.apache.xmlgraphics.util.Service, который сканирует файлы в каталоге META-INF.services внутри jar. В fop-core.jar/META- INF/services/org.apache.xmlgraphics.image.loader.spi.ImagePreloader – это: [code]org.apache.fop.image.loader.batik.PreloaderWMF org.apache.fop.image.loader.batik.PreloaderSVG [/code] а в xmlgraphics-commons-2.10.jar/META-INF/services/org.apache.xmlgraphics.image.loader.spi.ImagePreloader есть [code]org.apache.xmlgraphics.image.loader.impl.PreloaderTIFF org.apache.xmlgraphics.image.loader.impl.PreloaderGIF org.apache.xmlgraphics.image.loader.impl.PreloaderJPEG org.apache.xmlgraphics.image.loader.impl.PreloaderBMP org.apache.xmlgraphics.image.loader.impl.PreloaderEMF org.apache.xmlgraphics.image.loader.impl.PreloaderEPS org.apache.xmlgraphics.image.loader.impl.imageio.PreloaderImageIO org.apache.xmlgraphics.image.loader.impl.PreloaderRawPNG [/code] Поэтому, если я смешаю различные jar-файлы с помощью плагина сборки, выживет только один из соответствующих служебных файлов - в данном случае он выглядит как последний. Подробнее здесь: [url]https://stackoverflow.com/questions/79226319/apache-fop-xmlgraphics-cant-load-svg-if-it-is-in-a-jar[/url]