我正在使用飞碟从托管在tomcat服务器上的xhtml创建pdf。 pdf中包含的大多数图像都是公开可用的(徽标等),但是其中一些图像在登录后受到保护(也就是说,如果用户已登录,则它们将通过servlet流化)。
当我将URL粘贴到浏览器中时,图像当然显示得很好,因为浏览器发送带有请求的 session 。但是,当飞碟呈现pdf时,它不包含 protected 图像,因为它对 session 一无所知。
所以,我的问题是;有没有办法包括飞碟解析的字节流,就像可以添加可解析的字体一样?我尝试了类似this的方法,但是没有简单的方法可以在ITextRenderer上设置UAC,并且每次尝试时都会提示。
最佳答案
您可以通过这种方式设置UserAgentCallback,然后飞碟将使用它来解析网址(经过测试,可与Release 8一起使用):
ITextRenderer renderer = new ITextRenderer();
renderer.getSharedContext().setUserAgentCallback(new MyUAC());
MyUAC应该扩展
NaiveUserAgent
,并覆盖另一页所建议的resolveAndOpenStream
方法。关于java - 使用飞碟(ITextRenderer)解决 protected 资源,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4782876/