PDFの権限を設定する

既存のPDFファイルの権限を設定する

PDFファイルの権限を設定するには、PdfFileSecurityオブジェクトを作成し、SetPrivilegeメソッドを呼び出します。DocumentPrivilegeオブジェクトを使用して権限を指定し、このオブジェクトをSetPrivilegeメソッドに渡すことができます。以下のコードスニペットは、PDFファイルの権限を設定する方法を示しています。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SetPrivilege1()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
    
    // Create DocumentPrivileges object and set needed privileges
    var privilege = Aspose.Pdf.Facades.DocumentPrivilege.ForbidAll;
    privilege.ChangeAllowLevel = 1;
    privilege.AllowPrint = true;
    privilege.AllowCopy = true;

    using (var fileSecurity = new Aspose.Pdf.Facades.PdfFileSecurity())
    {
        // Bind PDF document
        fileSecurity.BindPdf(dataDir + "sample.pdf");
        // Set privilege
        fileSecurity.SetPrivilege(privilege);
        // Save PDF document
        fileSecurity.Save(dataDir + "SamplePrivileges_out.pdf");
    }
}

パスワードを指定する以下のメソッドを参照してください:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SetPrivilegeWithPassword()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
    
    // Create DocumentPrivileges object and set needed privileges
    var privilege = Aspose.Pdf.Facades.DocumentPrivilege.ForbidAll;
    privilege.ChangeAllowLevel = 1;
    privilege.AllowPrint = true;
    privilege.AllowCopy = true;

    using (var fileSecurity = new Aspose.Pdf.Facades.PdfFileSecurity())
    {
        // Bind PDF document
        fileSecurity.BindPdf(dataDir + "sample.pdf");
        // Set privilege and passwords
        fileSecurity.SetPrivilege(string.Empty, "P@ssw0rd", privilege);
        // Save PDF document
        fileSecurity.Save(dataDir + "SamplePrivilegesPassword_out.pdf");
    }
}

PDFから拡張権機能を削除する

PDF文書は、Adobe Acrobat Readerを使用してフォームフィールドにデータを入力し、入力されたフォームのコピーを保存できるようにするために、拡張権機能をサポートしています。しかし、これによりPDFファイルが変更されないことが保証され、PDFの構造に変更が加えられると、拡張権機能は失われます。そのような文書を表示すると、文書が変更されたために拡張権が削除されたというエラーメッセージが表示されます。最近、PDF文書から拡張権を削除する要求がありました。

PDFファイルから拡張権を削除するには、PdfFileSignatureクラスにRemoveUsageRights()という新しいメソッドが追加されました。もう一つのメソッドContainsUsageRights()が追加され、ソースPDFが拡張権を含むかどうかを判断します。

以下のコードは、文書から使用権を削除する方法を示しています:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RemoveExtendedRights()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_SecuritySignatures();
    
    using (var pdfSign = new Aspose.Pdf.Facades.PdfFileSignature())
    {
        // Bind PDF document
        pdfSign.BindPdf(dataDir + "DigitallySign.pdf");
        if (pdfSign.ContainsUsageRights())
        {
            pdfSign.RemoveUsageRights();
        }
        // Save PDF document
        pdfSign.Document.Save(dataDir + "RemoveRights_out.pdf");
    }
}