Визуализировать изображение из сервлета в сгенерированном pdf-файле flysaucer

Я использую flysaucer для преобразования документа xhtml в pdf через сервлет, который возвращает сгенерированный документ pdf. Документ xhtml содержит изображение, которое запрашивается из другого сервлета. Сервлет изображения проверяет, кто вошел в систему, прежде чем вернуть соответствующее изображение. В приведенном ниже коде показано, как запрашивается изображение.:

<img height="140" width="140" src="http://localhost:8080/myapp/servlet/DisplayPic" />

Моя проблема в том, что http-запрос изображения исходит от средства визуализации PDF, а не от вошедшего в систему пользователя, поэтому сервлет изображения не знает, кто вошел в систему, и поэтому желаемое изображение не вернулся.

В настоящее время я использую приведенный ниже код для рендеринга документа xhtml.:

ITextRenderer renderer = new ITextRenderer();
renderer.setDocumentFromString(xhtmlDocumentAsString);
renderer.layout();
os = response.getOutputStream();
renderer.createPDF(os);

Мне нужно либо поддерживать сеанс пользователя, когда запрашивается сервлет изображения, либо предоставить средству рендеринга изображение, которое будет использоваться для этого конкретного элемента xhtml. Я думаю, что последнее можно сделать с помощью ReplacedElementFactory, но я не смог найти ни одного примера кода, который мог бы мне помочь.

10
задан Edd 25 April 2012 в 02:22
поделиться