Вот мой текущий рабочий процесс:
- Загрузка POJO из базы данных.
- Передача их в Velocity, рендеринг HTML-шаблона в памяти.
- Затем рендерингвыводимый HTML в PDF с использованием Flying Saucer и iText.
Проблема возникает, когда я пытаюсь разрешить относительные URL-адреса, такие как изображения и тому подобное.Поскольку мой документ находится в памяти, он вообще не знает, как разрешать изображения или таблицы стилей.Как я могу установить документ для него в объект String в памяти, все еще передавая ему каталог для загрузки ресурсов?
String velocityOutput = VelocityEngineUtils.mergeTemplateIntoString(...);
ByteArrayOutputStream output = new ByteArrayOutputStream(...);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocumentFromString(velocityOutput);
renderer.layout();
renderer.createPDF(output);
Мне нужно делать все в памяти, так как я просто создаю отчет для отправки клиентам по электронной почте.Как я могу <img src="..."/>
разрешить относительный URL в моем HTML-шаблоне при генерации в PDF?