Отобразить PDF на странице

43 views
Skip to first unread message

maratische

unread,
Jun 9, 2009, 11:54:06 AM6/9/09
to The Russia JBoss Seam user group
Есть задача отобразить на странице pdf.

Самое оптимальное решение, это
<iframe src="#{бинарныйИсточникДанных}" width="100%" height="600" />

тогда у пользователя автоматом подхватиться локальный PDF редактор в
виде плагина на странице (Acrobat Reader, Foxit)

Как можно сделать этот самый источник данных средствами Seam?
например, вот так я рисую картинки
<s:graphicImage value="#{templateList.getTemplateImageById(t.id)}"/>
где соответственно
public byte[] getTemplateImageById(Integer templateId) {...}

как сделать тоже самое для iframe?
Насколько я понимаю, надо создать некоторую страницу, обращение к
которой вернет результат метода. Есть идеи?

как подсказка, я наловчился делать Download Data при помощи следующей
конструкции:
public String downloadImageById() {
try {
ImageAsset asset = .....
HttpServletResponse response = (HttpServletResponse)
extCtx.getResponse();
response.setContentType("application/octet-stream");
response.addHeader("Content-disposition",
"attachment; filename=\"" + asset.getFileName() +"\"");
try {
ServletOutputStream os = response.getOutputStream();
os.write(.....);
os.flush();
os.close();
facesContext.responseComplete();
} catch(Exception e) {
log.error("\nFailure : " + e.toString() + "\n");
}
return null;
} catch (NumberFormatException e) {
}
}
return null;
}

где вызывается это все нажиманием на картинку:
<s:link action="#{contentLibrary.downloadImageById()}"
target="_blank">.....</s:link>


ps: Решение в виде: в Seam получаем данные и кладем в HTTP сессию, а
параллельно работающий обычный HTTPServlet, банально достает
положенное в сессию и вываливает пользователю я знаю - некрасиво :)

nantuko

unread,
Jun 9, 2009, 12:03:39 PM6/9/09
to the-russia-jboss...@googlegroups.com
http://seamframework.org/Community/ModalpanelOnTopOfIframeWithPdf

Сам не пробовал, но можно, как там советуют, попробовать заюзать a4j:mediaOutput
Жалко только, что про jQuery после этого можно забыть, по крайней мере, я так и не научился его использовать совместно с richfaces

Айрат

9 июня 2009 г. 19:54 пользователь maratische <marat...@gmail.com> написал:
Reply all
Reply to author
Forward
0 new messages