2016-05-23 95 views
0

我目前使用pdfbox在vaadin应用程序中创建带有图像的pdf。我想知道如何在由vaadin主题使用的pdfbox中使用相同的图像路径。
现在我仍然使用.properties文件指向图像文件夹,但我更喜欢如果我可以将图像放在主题文件夹中。这样我就可以轻松地将图像添加到文件夹并将它们放入git中。这种自动化将为我省下确保.properties文件和图像在不同机器上工作的麻烦。 。vaadin主题的本地路径

我发现迄今使用Application.class.getResource( “/图像”)的最佳解决方案的toString(); 我不喜欢那是它返回格式为“文件:”。我可以删除“file:” - 部分,但我想知道是否有更好的解决方案?

+0

你的意思是你在运行时创建pdf文件吗?你希望它们能被vaadin应用程序的用户访问吗? – kukis

+0

因此,你想确定VAADIN/themes/yourtheme/imagxyz.img下的图像位于本地文件系统上的位置? –

+0

@SteffenHarbich是的,即时通讯寻找。 – BluE

回答

0

首先获得通过VaadinServlet servlet上下文(见this答案)。

ServletContext servletContext = VaadinServlet.getCurrent().getServletContext(); 

然后调用

String path = getServletContext().getRealPath("/VAADIN/themes/..."); 

按照docs如果你有没有从WAR文件解包一个web应用程序可能是不可能的。