0

viewPanel とダイアログを含むページがあります。viewPanel 内の項目をクリックすると、ダイアログが開き、その項目を変更するようにユーザーに促し、項目のレポートを PDF 形式で生成するオプションを提供します。

最初に、ここで説明されているように、PDF の作成をボタンに配置しようとしました: http://www.eknori.de/2011-10-25/xpages-to-pdf-with-itext/ただし、ボタンが押されるたびに、dojo JS に起因すると思われる「NotFoundError: DOM Exception 8」が表示されます。したがって、現在、ボタンが単にいくつかの sessionScope 変数を設定し、変数が読み戻されて PDF が作成される pdf.xsp XPage を開く代替手段があります。

PDF は正しく作成されますが、ユーザーが表示しているページが更新されず、viewPanel に新しい変更が表示されないことも意味します。PDF を作成する XPage の下部にページ リダイレクトを追加しようとしましたが、うまくいきませんでした。

では、PDF を作成し、ユーザーにダウンロードを促すだけでなく、現在表示されているページを更新するにはどうすればよいでしょうか?

4

1 に答える 1

1

ボタンを部分的に更新してダイアログを非表示にし、pdf 生成用のコードを実行していますか? もしそうなら、あなたに問題があると思います。できることは、ダイアログの onClose() メソッドで部分的な更新を行い、viewpanel を更新することです。クライアント側の onunload メソッドでは、新しいウィンドウ (window.open(pdf.xsp?docid=xxx) で PDF をレンダリングする、いわゆる xAgent を開くことができます。ここを見てください: NotesIn9: 039 Making PDF's with XPages Part 2

もちろん、このアプローチの問題は、レポートが作成された場合に表示されるボタン/画像がビューパネル行にある場合に表示されないことです。

于 2013-06-13T20:20:07.453 に答える