#image #spring #itext
#изображение #spring #itext
Вопрос:
У меня есть такое решение в моем приложении Spring:
http://www.java2s.com/Code/Java/PDF-RTF/AddingPNGimagetoPdfdocument.htm
В любом случае, моя проблема в том, что мое изображение находится в другой папке, например WEB-INF/layout/picture.gif . Я не заставляю это работать. Возможно, есть какие-либо ограничения?
Комментарии:
1. Изображение imageRight = Image.getInstance(«путь»); не работает
Ответ №1:
Переместите ваше изображение в classpath в качестве ресурса, чтобы затем вы могли легко загрузить его в iText. Для этого вам следует скопировать файл изображения в каталог, в котором находятся классы, чтобы изображение было упаковано в JAR или, альтернативно, в каталог /WEB-INF / classes, если это веб-приложение JAva (war).
Заводской метод com.lowagie.itext.Image
принимает java.net.URL
в качестве аргумента, поэтому вы делаете это:
URL imageUrl = getClass().getResource("/your/image/package/image.png");
Image image = Image.getInstance(imageUrl);
Комментарии:
1. Обязательно ли оно должно быть в файле jar, чтобы быть ресурсом?
2. Как вы упаковываете свое приложение? Это jar или war или что-то еще?
Ответ №2:
Этот ответ предполагает, что вы пытаетесь получить доступ к изображениям напрямую из веб-браузера.
Изображения, к которым браузер может получить прямой доступ, должны располагаться за пределами каталога WEB-INF.
Например, в проекте maven
-project/main/src
-webapp
-images <- in the same parent directory like META-INF and WEB-INF
-META-INF
-WEB-INF
Комментарии:
1. Как насчет не Maven? Как мне отформатировать путь? например, / layout? Я использую Windows
2. MJgirl: В любом случае, это то же самое для not Maven: поместите изображения (лучше папку images) в тот же director, где расположены подпапки META-INF и WEB-INF. (Maven имеет отношение только к структуре выше (project / main / src / webapp))