Помещение заполнителей с "поврежденным изображением" с помощью "Летающей тарелки" - PullRequest
1 голос
/ 02 мая 2011

Я использую Flying Saucer для создания PDF из HTML (поэтому я использую ITextRenderer, если это имеет значение.)

Я хотел бы смоделировать что-то вроде того, что вставляет Webkit или Gecko, когда изображение не может быть найдено - что-то вроде наброска со вставкой и немного испорченной страницы.

Я определил, что переопределение getImageResource в UserAgentCallback является способом проверки этого условия (изображение в ImageResource будет null), но я не могу найти хороший способ визуализации заполнитель на данный момент в API.

Есть ли правильный способ сделать это? (Было бы хорошо, если бы это случилось из коробки ...)

1 Ответ

0 голосов
/ 03 мая 2011

Вы находитесь на правильном пути.

Вы хотите расширить UserAgentCallback с помощью своей собственной пользовательской функциональности агента пользователя.Он должен выполнять практически ту же функциональность, что и существующая реализация Flying Saucer, за исключением случаев, когда изображение не найдено, оно должно возвращать изображение разорванной страницы по умолчанию, которое вы хотите включить.

Если вы используетеiTextRenderer, есть класс ITextUserAgent , который вы можете расширить для своего собственного пользовательского агента UserAgent.

Чтобы установить UserAgent, после создания ITextRenderer используйте следующий код.

ITextRenderer renderer = new ITextRenderer();
renderer.getSharedContext().setUserAgentCallback(new CustomITextUserAgent(renderer.getOutputDevice()));
...