0

これは私の他の質問に関連しています...これに解決策があることを願っています。

要件は、パスワードで保護された PDF をブラウザーに表示することですが、プログラムでユーザー パスワードを渡すことです。Jasper を使用して PDF を作成し、ユーザー パスワードを次のように設定します。
exporter.setParameter(JRPdfExporterParameter.USER_PASSWORD, userPassword);

PDF が作成されるとすぐに、画面に表示する必要があります。ブラウザーに表示している間、ユーザーはパスワードの入力を求められるべきではありません。そのため、パスワードはアプリケーションによって提供される必要があります。ただし、ユーザーが PDF をダウンロードしてそれを開こうとすると、パスワードの入力を求められるべきです。 .
[編集]: ライセンスされたツールを使用しないアプローチを探しています

4

4 に答える 4

4

PDF.JS ライブラリを使用して、パスワードで保護された PDF を開くことができます。

PDFJS.getDocument({ url: pdf_url, password: pdf_password }).then(function(pdf_doc) {
    // success
}).catch(function(error) {
    // incorrect password

    // error is an object having 3 properties : name, message & code
});

デモを含むブログ投稿を書きました。これはリンクです: http://usefulangle.com/post/22/pdfjs-tutorial-2-viewing-a-password-protected-pdf

于 2016-12-14T17:33:43.647 に答える
0

これが可能かどうかはわかりません。ブラウザーでは、pdf はプラグイン (通常は Adob​​e Reader プラグイン) によって開かれます。Adobe Reader以外のメーカーもあります。Chromeには独自のプラグインがあります。

ブラウザーで PDF ファイルが検出された場合 (レンダリング プラグインが引き継ぎます)、これはブラウザー固有のものです。あなたはほとんどコントロールできません。

簡単な代替手段は、Web ページに同じコンテンツを表示することです。コンテンツが機密性の高い場合は、おそらくモーダル ウィンドウで、パスワードで保護された PDF ファイルをダウンロードするためのリンクを提供します。

私の2c

于 2013-01-30T11:32:57.040 に答える
0

暗号化された PDF もサポートするオープン ソースのクライアント ベースの PDF レンダラーである PDF.js をチェックアウトできます。 http://mozilla.github.com/pdf.js/

これは、JavaScript のどこかにパスワードを入力する必要があることを意味するため、パスワードを偽装する必要がありますが、うまくいくはずです :)

于 2013-01-30T11:24:46.767 に答える