1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/dromara-x-easypdf

 / Детали:

Не удалось создать водяной знак, ошибка "fontInfo" является null

Предстоит сделать
Владелец
Создано  
03.03.2025

Зависимости:

<dependency>
    <groupId>org.dromara</groupId>
    <artifactId>x-easypdf</artifactId>
    <version>3.3.0</version>
</dependency>

Инструкция по использованию с примером тестирования:

public class WaterMarkTest {

    public static void main(String[] args) {
        // Определение пути вывода
        String outputPath = "D:\\WorkSpace\\Java\\console\\test.pdf";
        // Создание документа
        Document document = TemplateHandler.Document.build();
        // Создание страницы (пустая страница)
        Page page = TemplateHandler.Page.build();
        // Создание многострочной ватермарки
        Watermark watermark = TemplateHandler.Watermark.build()
                // Установка ID водяного знака
                .setId("test")
                // Установка текста водяного знака
                .setText("Первая строка", "Вторая строка")
                // Установка размера шрифта текста водяного знака
                .setFontSize("30pt")
                // Установка ширины изображения водяного знака
                .setWidth("300pt")
                // Установка высоты изображения водяного знака
                .setHeight("200pt")
                // Установка ширины отображения водяного знака
                .setShowWidth("200pt")
                // Включение перезаписи файла
                .enableOverwrite();
        // Добавление водяного знака
        page.setBodyWatermark(watermark);
        // Добавление страницы
        document.addPage(page);
        // Преобразование PDF
        document.transform(outputPath);
    }
}

Ошибка:

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "org.apache.fop.fonts.FontInfo.findAdjustWeight(String, String, int)" because "fontInfo" is null
	at org.dromara.pdf.fop.util.FontUtil.createAWTFont(FontUtil.java:54)
	at org.dromara.pdf.fop.core.doc.watermark.Watermark.createImage(Watermark.java:432)
	at org.dromara.pdf.fop.core.doc.watermark.Watermark.getImageFile(Watermark.java:383)
	at org.dromara.pdf.fop.core.doc.watermark.Watermark.putCache(Watermark.java:356)
	at org.dromara.pdf.fop.core.doc.watermark.Watermark.getImageUrl(Watermark.java:338)
	at org.dromara.pdf.fop.core.doc.watermark.Watermark.createWatermark(Watermark.java:305)
	at org.dromara.pdf.fop.core.doc.page.Page.lambda$initRegion$27(Page.java:1189)
	at java.base/java.util.Optional.ifPresent(Optional.java:178)
	at org.dromara.pdf.fop.core.doc.page.Page.initRegion(Page.java:1189)
	at org.dromara.pdf.fop.core.doc.page.Page.createRegionBody(Page.java:1087)
	at org.dromara.pdf.fop.core.doc.page.Page.createSimplePageMaster(Page.java:1056)
	at org.dromara.pdf.fop.core.doc.page.Page.addLayoutMasterSet(Page.java:1026)
	at org.dromara.pdf.fop.core.doc.page.Page.createElement(Page.java:1005)
	at org.dromara.pdf.fop.core.doc.Document.addPage(Document.java:414)
	at org.dromara.pdf.fop.core.doc.Document.getDocument(Document.java:347)
	at org.dromara.pdf.fop.core.datasource.DocumentDataSource.processTemplate(DocumentDataSource.java:68)
	at org.dromara.pdf.fop.core.datasource.AbstractDataSource.getInputStream(AbstractDataSource.java:86)
	at org.dromara.pdf.fop.core.datasource.AbstractDataSource.getSourceReader(AbstractDataSource.java:53)
	at org.dromara.pdf.fop.core.datasource.DocumentDataSource.getSourceReader(DocumentDataSource.java:35)
	at org.dromara.pdf.fop.core.datasource.DataSource.getDocumentContent(DataSource.java:147)
	at org.dromara.pdf.fop.core.base.Template.transform(Template.java:371)
	at org.dromara.pdf.fop.core.doc.Document.transform(Document.java:331)
	at org.dromara.pdf.fop.core.doc.DocumentComponent.transform(DocumentComponent.java:40)

Комментарий (0)

GitLife Service Account Задача создана

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/dromara-x-easypdf.git
git@api.gitlife.ru:oschina-mirror/dromara-x-easypdf.git
oschina-mirror
dromara-x-easypdf
dromara-x-easypdf