使用 Flying Saucer 从 XHtml 源文本生成 PDF 的代理问题

发布于 2024-12-23 03:44:22 字数 919 浏览 2 评论 0原文

我在使用 FLying Saucer 从 XHTML 源生成 PDF 时遇到一些问题。

我使用以下工作代码:

ITextRenderer renderer = new ITextRenderer();

renderer.setDocumentFromString(pageSourceCode);

我想在我的源中包含一些图像以生成 pdf。这意味着有一个 href 指向图像。

看来图像的 href 必须是完整的 URL,否则找不到图像。在我的本地环境中,我用图像生成 pdf 没有问题,但在代理后面的远程服务器场上,我没有图像。

  1. 它无法识别网络上使用的 URL (https://mydomain.com/mysite/...)
  2. 使用服务器名称 + 端口可以工作,但很脏,因为我有一个服务器场(2 个具有不同端口的集群)。所以我永远无法确定哪个服务器正在提供数据。如果我指向一台服务器并且该服务器出现故障,我将不再拥有该图像。
  3. 我尝试在服务器 jvm.properties (用于 tomcat 配置)上配置 http/https 代理,但它不起作用。

我的配置:

tomcat5.5.28 jre1.6_13 所有导航均使用 https 代理的使用 java.args=-Duser.language=fr -Duser.region=FRx -Xms1024m -Xmx1024m -XX:MaPermSize=128m -Dhttp.proxyHost=myProxy -Dhttp.proxyPort=80 -Dnetworkaddress.cache.ttl=300 -DnonProxyHosts=myServerHost -Dhttps.nonProxyHosts=myServerHost -Dhttp.nonProxyHosts=myServerHost

预先感谢您的帮助。

I am facing some problem to generate a PDF using FLying Saucer from a XHTML source.

I use the working following code :

ITextRenderer renderer = new ITextRenderer();

renderer.setDocumentFromString(pageSourceCode);

I would like to include some images in my source for the pdf to be generated. It implies having a href pointing to the images.

It seems that the href to the image has to be the complete URL else it does not find the image. On my local environment, I got no problem to generate the pdf with the image, but on the distant farm of server wich is behind a proxy, I have no image.

  1. It does not recognize the URL used from the web (https://mydomain.com/mysite/...)
  2. Using the server name + port works but is dirty since I have a farm of server (2 cluster with different port). So I can never determine which server is providing the data. If I point to a single server and if that server goes down, I won t have the image any more.
  3. I have tried to configure a http/https proxy on the server jvm.properties (used for tomcat configuration) but it did not work.

My configuration :

tomcat5.5.28
jre1.6_13
Usage of https for all navigation
Usage of a proxy
java.args=-Duser.language=fr -Duser.region=FRx -Xms1024m -Xmx1024m -XX:MaPermSize=128m -Dhttp.proxyHost=myProxy -Dhttp.proxyPort=80 -Dnetworkaddress.cache.ttl=300 -DnonProxyHosts=myServerHost -Dhttps.nonProxyHosts=myServerHost-Dhttp.nonProxyHosts=myServerHost

Thanks in advance for your help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无风消散 2024-12-30 03:44:23

您是否尝试过“http://localhost:”+request.getServerPort()+“/mysite/etc”

have you tried "http://localhost:"+request.getServerPort()+"/mysite/etc"

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文