PDF ファイルの暗号化は、インターネット上で機密ドキュメントを共有する際に非常に重要です。強力なパスワードで PDF ファイルを暗号化することで、ファイルのデータが不正にアクセスされないように保護することができます。また、場合によっては、ドキュメントを公開するために、パスワードを削除する必要があることもあります。この記事では、Spire.PDF for .NET を使用して、プログラムで PDF ファイルを暗号化または復号化する方法について学びます。
Spire.PDF for.NET をインストールします
まず、Spire.PDF for.NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
PDF ファイルをパスワードで暗号化する
PDF ファイルを暗号化するためのパスワードには、「開くパスワード」と「権限パスワード」の2種類があります。前者は PDF ファイルを開くために設定し、後者は印刷や 内容のコピー、コメント付けなどを制限するために設定します。2種類のパスワードで PDF ファイルを保護した場合、どちらかのパスワードで開くことができます。
Spire.PDF for .NET が提供する PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize) メソッドは、開くパスワードと権限パスワードを設定して、PDF ファイルを暗号化できるようにするものです。詳細な手順は次のとおりです。
- PdfDocument クラスのオブジェクトを作成します。
- PdfDocument.LoadFromFile() メソッドを使用して PDF ファイルを読み込みます。
- PdfDocument.Security 属性を使用して、ドキュメントのセキュリティパラメータを取得します。
- PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize) メソッドを使用して開くパスワードと権限パスワードで PDF ファイルを暗号化します。
- PdfDocument.SaveToFile() メソッドを使用して、結果のファイルを保存します。
- C#
- VB.NET
using Spire.Pdf;
using Spire.Pdf.Security;
namespace EncryptPDF
{
class Program
{
static void Main(string[] args)
{
//PdfDocument クラスのオブジェクトを作成する
PdfDocument pdf = new PdfDocument();
//PDFファイルを読み込む
pdf.LoadFromFile(@"C:\Users\YDY_17628305272oEgOG\Desktop\Sample1.pdf");
//パスワードでPDFファイルを暗号化する
pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit);
//のファイルを保存する
pdf.SaveToFile("PDFの暗号化.pdf", FileFormat.PDF);
}
}
}
Imports Spire.Pdf
Imports Spire.Pdf.Security
Namespace EncryptPDF
Class Program
Shared Sub Main(ByVal args() As String)
'PdfDocument クラスのオブジェクトを作成する
Dim pdf As PdfDocument = New PdfDocument()
'PDFファイルを読み込む
pdf.LoadFromFile("C:\Users\YDY_17628305272oEgOG\Desktop\Sample1.pdf")
'パスワードでPDFファイルを暗号化する
pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit)
'のファイルを保存する
pdf.SaveToFile("PDFの暗号化.pdf", FileFormat.PDF)
End Sub
End Class
End Namespace
パスワードを削除して PDF ファイルを復号化する
PDF ファイルからパスワードを削除する必要がある場合、PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize, string originalPermissionPassword) メソッドを呼び出して、開くパスワードと権限パスワードを空に設定することができます。詳細な手順は以下の通りです。
- PdfDocument クラスのオブジェクトを作成します。
- PdfDocument.LoadFromFile (string filename, string password) メソッドを使用して、パスワード付き暗号化 PDF ファイルを読み込みます。
- PdfDocument.Security 属性を使用して、ドキュメントのセキュリティパラメータを取得します。
- PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize, string originalPermissionPassword) メソッドを使用して開くパスワードと権限パスワードを空に設定し、PDF ファイルを復号化します。
- PdfDocument.SaveToFile() メソッドを使用して結果のファイルを保存します。
- C#
- VB.NET
using Spire.Pdf;
using Spire.Pdf.Security;
namespace DecryptPDF
{
class Program
{
static void Main(string[] args)
{
//PdfDocument クラスのオブジェクトを作成する
PdfDocument pdf = new PdfDocument();
//パスワードを使って暗号化されたPDFファイルを読み込む
pdf.LoadFromFile(@"C:/PDFの暗号化.pdf", "open");
//パスワードを空に設定し、PDFファイルを復号化する
pdf.Security.Encrypt(string.Empty, string.Empty, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit, "permission");
//結果のファイルを保存する
pdf.SaveToFile("PDFの復号化.pdf", FileFormat.PDF);
}
}
}
Imports Spire.Pdf
Imports Spire.Pdf.Security
Namespace DecryptPDF
Class Program
Shared Sub Main(ByVal args() As String)
'PdfDocument クラスのオブジェクトを作成する
Dim pdf As PdfDocument = New PdfDocument()
'パスワードを使って暗号化されたPDFファイルを読み込む
pdf.LoadFromFile("C:/PDFの暗号化.pdf", "open")
'パスワードを空に設定し、PDFファイルを復号化する
pdf.Security.Encrypt(String.Empty, String.Empty, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit, "permission")
'結果のファイルを保存する
pdf.SaveToFile("PDFの復号化.pdf", FileFormat.PDF)
End Sub
End Class
End Namespace
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。