2

パスワードで保護された PDF を c#.net Windows アプリケーション パネル内または Adob​​e Reader で開きたいです。

私の考えは、システムを介してパスワードを渡し、pdf を開きたいということです。ユーザーは PDF を表示できますが、保存できません。ユーザーは自分のコンピューターに私たちを保存することもできます.pdfを再度開くと、ファイルはパスワードを要求します. つまり、pdf を読みたいときはシステムを使用する必要があり、pdf を外部に持ち出した場合、パスワードの cos を開くことができません。

Adobe Pdf dll を試してみましたが、これはパスワードを渡すことができません。また、itextsharpでも試しました。これはパスワードを渡すことができますが、パスワードを渡した後、pdfを保存する必要があります。そのため、pdf を開くと、ファイルにパスワードがありません。

パスワードで保護されたPDFをシステム経由で直接開きたい。もう保存したくない。

4

2 に答える 2

5

同様の質問がありますが、パスワードで保護された PDF ファイルをプログラムで開くにはどうすればよいですか? その質問の一部をコピーしてここに置きました。

public static void unprotectPdf(string input, string output) 
{ 
    bool passwordProtected = PdfDocument.IsPasswordProtected(input); 
    if (passwordProtected) 
    { 
        string password = null; // retrieve the password somehow 

        using (PdfDocument doc = new PdfDocument(input, password)) 
        { 
            // clear both passwords in order 
            // to produce unprotected document 
            doc.OwnerPassword = ""; 
            doc.UserPassword = ""; 

            doc.Save(output); 
        } 
    } 
    else 
    { 
        // no decryption is required 
        File.Copy(input, output, true); 
    } 
} 
于 2012-10-10T02:17:24.557 に答える
0

あなたがデジタル著作権管理 (DRM) を実施したいと考えていることを正しく理解しています。

これを行うには、PDF 表示コンポーネントをある程度制御するか、そのコンポーネントを十分に制限する必要があります。それ以外の場合、つまり、何らかの方法で Adob​​e Acrobat にパスワードを転送した場合、そのコンポーネントはユーザーがドキュメントの実際の所有者であると想定するため、保護されていないファイルのコピーを保存することが許可されます。もちろん、iText(Sharp) などを使用して保護されていないコピーを一時的に作成すると、その一時ファイルは簡単に奪われる可能性があります。

残念ながら、「c#.net Windows アプリケーション パネル内または Adob​​e Reader を使用する」の選択があなた次第なのかユーザー次第なのかを明確にしませんでした。

したがって、Adobe Acrobat/Reader をサポートする必要がある場合は、それらの製品に DRM enforsing を統合する必要があります。http://www.adobe.com/devnet/reader/topic_drm.html (「デジタル著作権管理 (DRM) プラグインの開発」)。

一方、選択肢がある場合は、適切な PDF ビューアー コンポーネントが必要なだけです。残念ながら、私は .NET で使用できるビューアを知りません。Java を使用した場合、JPedal は適切にカスタマイズできます。

于 2012-10-10T08:08:35.527 に答える