Как создать PDF-файл с помощью iText + XMLWorker из сервлета, используя собственный шрифт?

Игра с примерами iText / XMLWorker (в основномэтот), Я мог легко написать простые приложения, способные создавать PDF-файлы из HTML-кода, используя мои собственные дополнительные шрифты, но как только я попытался использовать свои материалы в некотором коде веб-службы, я закончил с такими исключениями:

Table 'name' does not exist in file:/C:/work/MyServer/target/classes/fonts/My%20Font.ttf
ExceptionConverter: com.itextpdf.text.DocumentException: Table 'name' does not exist in file:/C:/work/MyServer/target/classes/fonts/My%20Font.ttf

... что указывает на то, что в контексте веб-службы файл шрифта не может быть загружен, как ожидалось. Вот большая часть моего кода:

public HtmlRenderer(final String css, final String[] fontPaths) {
    // fontPaths = {
    // "/fonts/My Font.ttf",
    // "/fonts/My Other Font.ttf",
    // ...
    // };

    // CSS
    cssResolver = new StyleAttrCSSResolver();
    if (css != null) {
        final CssFile cssFile = XMLWorkerHelper.getCSS(new ByteArrayInputStream(css.getBytes()));
        cssResolver.addCss(cssFile);
    }

    // HTML
    XMLWorkerFontProvider fontProvider = new XMLWorkerFontProvider(XMLWorkerFontProvider.DONTLOOKFORFONTS);
    if (fontPaths != null) {
        for (final String fontPath : fontPaths) {
            final String path = this.getClass().getResource(fontPath).toExternalForm();
            fontProvider.register(path);
        }
    }
    CssAppliers cssAppliers = new CssAppliersImpl(fontProvider);
    htmlContext = new HtmlPipelineContext(cssAppliers);
    htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory());
    ...

Должен ли я полагаться на такие вещи, как:

Извлечение шрифтов из ресурсов во временные файлы (ср.Вот)Затем предварительно загрузите шрифты в фабрику пользовательских шрифтов (ср.там)

Спасибо за помощь!

Ответы на вопрос(1)

Ваш ответ на вопрос