2013-06-13 5 views
0

У меня есть страница с viewPanel и диалоговое окно. Когда элемент в viewPanel щелкнут, открывается диалоговое окно с предложением пользователю внести изменения в этот элемент и предлагать им возможность генерировать отчет элемента в формате PDF.Создание PDF с обновлением страницы

Сначала я попытался создать PDF-файл на кнопке, как описано здесь: http://www.eknori.de/2011-10-25/xpages-to-pdf-with-itext/ Однако, всякий раз, когда нажимается кнопка, я получаю сообщение «NotFoundError: DOM Exception 8», которое, похоже, связано с Dojo JS. Поэтому в настоящее время у меня есть альтернатива, при которой кнопка просто устанавливает некоторые переменные sessionScope и открывает файл pdf.xsp XPage, где переменные считываются и создается PDF-файл.

PDF создается правильно, но это также означает, что страница, на которой находится пользователь, не будет обновлена, чтобы отобразить их новое изменение в viewPanel. Я попытался добавить перенаправления страниц в нижней части XPage, которая создает PDF-файл, но не повезло.

Итак, как я могу создать PDF-файл и предложить пользователю его загрузить, но также обновить страницу, на которой они сейчас находятся?

ответ

1

Вы ищете частичное обновление на кнопке, чтобы скрыть свое диалоговое окно и выполнить код для генерации pdf? Если это так, я думаю, что есть твоя проблема. Вы можете сделать частичное обновление в onClose() в диалоговом окне, чтобы обновить панель просмотра. В методе onunload для клиентов вы можете открыть так называемый xAgent, который отобразит PDF для вас в новом окне (window.open (pdf.xsp? Docid = xxx). Посмотрите здесь: NotesIn9: 039 Creating PDF’s with XPages Part 2

Из-за проблемы с этим подходом заключается в том, что когда у вас есть кнопка/изображение в строке yoru viewpanel, которая отображается, если отчет был создан, не отображается, потому что xagent запускается после/в течение времени, когда обновляется строка панели просмотра.

Смежные вопросы