0

サーブレットで動的レポートを使用してPDFを生成し、コードを使用してjspページに出力しています

report.toPdf(response.getOutputStream());

Jqueryでは、PDFを新しいウィンドウにポップアップとしてロードしています

var newWindow = window.open(url, 'name', 'height=800,width=1000');
            if (window.focus) {
                newWindow.focus();
                setTimeout(function() {
                    newWindow.print();
                }, 2000);
            }

しかし、これはエラーを返します

エラー: プロパティ "print" へのアクセスが拒否されました

Firefox のバージョンは 43.0 です。about:config で 'pdfjs.disabled' を 'true' に変更しようとしましたが、それは役に立ちません: それを設定して印刷しようとすると、ウィンドウがすぐに自動的に閉じ、pdf が自動保存され、コンソールにエラーが表示されます:

"NS_ERROR_NOT_AVAILABLE:"

.

更新された質問

問題は印刷だけではないことに気付き、ページから HTML コンテンツを取得しようとしました。

setTimeout(function() {
                $(newwindow.document).ready(function() {
                    $(newwindow.document).find("body").on("load", alert($(newwindow.document).find("body").html()));
                });
            }, 2000);

エラーが返されました。

エラー: プロパティ "ドキュメント" へのアクセスが拒否されました

上記の両方のコードで setTimeout() 関数を削除すると、最初のコードは空白のページを出力し、2 番目の警告は空白になります。つまり、それまでにコンテンツがロードされていないと思います。

4

0 に答える 0