1

我正在使用 Flying Saucer 从 HTML 生成 PDF(所以我正在使用 ITextRenderer,如果这很重要的话。)

当找不到图像时,我想模拟像 Webkit 或 Gecko 那样的东西——比如一个嵌入的轮廓和一个有点破损的页面图像。

我已经确定在 中覆盖getImageResourceUserAgentCallback一种测试这种情况的方法(将中的图像ImageResourcenull),但我无法找到在 API 中此时呈现占位符的好方法。

有没有合适的方法来做到这一点?(如果这是开箱即用的,那就太好了......)

4

1 回答 1

0

你在正确的轨道上。

您想使用自己的自定义用户代理功能扩展UserAgentCallback 。它应该执行与现有 Flying Saucer 实现几乎相同的功能,除了找不到图像时,它应该返回您想要包含的默认损坏页面图像。

如果您使用的是 iTextRenderer,则有一个ITextUserAgent则可以为您自己的自定义 UserAgent 扩展

要设置 UserAgent,请在创建 ITextRenderer 后,使用以下代码。

ITextRenderer renderer = new ITextRenderer();
renderer.getSharedContext().setUserAgentCallback(new CustomITextUserAgent(renderer.getOutputDevice()));
于 2011-05-03T01:27:16.763 回答