我有一个带有viewPanel和对话框的页面。单击viewPanel中的项目时,将打开该对话框,提示用户对该项目进行更改,并为他们提供生成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并提示用户下载它,还要刷新他们当前所在的页面?
答案 0 :(得分:1)
您是否正在按钮上进行部分刷新以隐藏对话框并执行pdf生成代码?如果是这样,我认为你有问题。您可以做的是对对话框的onClose()方法进行部分刷新以刷新视图面板。在clientide onunload方法中,你可以打开一个所谓的xAgent,它在一个新窗口中为你呈现pdf(window.open(pdf.xsp?docid = xxx)。看看这里:NotesIn9: 039 Creating PDF’s with XPages Part 2
这种方法的问题在于,如果在yoru viewpanel行中显示按钮/图像,则显示是否创建了报告,因为xagent在视图面板行刷新之后/期间运行。