C#でPDFファイルを暗号化/パスワードと権限を追加する方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

機密文書を不正アクセスや改ざんから保護するには、パスワードと特定の権限を使用して PDF ファイルを保護することが不可欠です。 IronSecure Doc の [POST] Encrypt/Add Password & Permissions API は、印刷、フォーム入力、注釈などの権限を構成しながら、ユーザーと所有者のパスワードを使用して PDF ファイルを暗号化する効率的な方法を提供します。 この API により、PDF が完全に保護され、アクセスが制御されるため、法律、財務、または個人の文書に最適です。

IronSecureDoc をプルして起動する

IronSecureDoc をまだ実行していない場合は、以下のリンクに従ってセットアップしてください。

ローカルでホスト クラウドへのデプロイ

[POST] 暗号化/パスワードと権限の追加 API

[POST] 認証/パスワードと権限の追加APIは、パスワードで暗号化し、さまざまな操作の特定の権限を設定することによってPDFドキュメントにセキュリティ層を追加します。 読み取りアクセスの許可、フォームへの入力の許可、印刷の無効化など、この API を使用すると、PDF ファイルへのアクセス方法や変更方法を制御できます。

威勢のいい

Swagger は、この API をインタラクティブにテストするためのユーザーフレンドリーなインターフェースを提供します。 コードを書かずにテストリクエストを送信し、応答を受信できるため、開発者にとって優れたツールとなります。

威勢のいいでテキストを編集する手順

  1. Swagger UI にアクセスします。

API サーバーがローカルで実行されている場合は、Web ブラウザーでhttp://localhost:8080/swagger/index.htmlに移動して Swagger にアクセスできます。

! Swaggerドキュメント

  1. APIを見つけます。

暗号化/パスワードと権限の追加に対応する [POST] /v1/document-services/pdfs/encrypt API を見つけます。

テキストを編集

3.入力パラメータ:

API に必要なパラメータを指定します。 サンプル PDF ファイルをアップロードし、必要な権限を指定できます。

  1. PDFファイルをアップロードします。

リクエスト本文で、PDF ファイルを pdfファイル としてアップロードし、印刷、フォームの入力、コンテンツの抽出の許可または制限など、必要な権限を定義します。

5.リクエストを実行します。

すべてのパラメータを設定したら、"実行"をクリックしてリクエストを送信します。レスポンスとして、指定されたセキュリティ設定で暗号化されたPDFが返されます。

6.出力されたPDFを確認します。

PDF コンテンツを表示するには、"パスワード"を入力してください。


入力パラメータの理解

API では、PDF を暗号化し、権限を割り当てるために特定のパラメータが必要です。 必須パラメータとオプションパラメータの内訳は次のとおりです。

必須パラメータ

名前 データ型 翻訳内容
pdfファイル アプリケーション/pdf 暗号化する PDF ファイル。
コンテンツの抽出を許可する ブール値 コンテンツの抽出が許可されるかどうかを示します。
フォーム入力を許可する ブール値 フォームへの入力が許可されているかどうかを示します。
注釈を許可する ブール値 注釈が許可されるかどうかを示します。
印刷を許可する ブール値 印刷が許可されているかどうかを示します。
変更を許可する ブール値 変更が許可されるかどうかを示します。
新しい所有者のパスワード 文字列 PDF の新しい所有者パスワード。完全なアクセス権と権限の変更権限が付与されます。

オプションパラメータ

名前 データ型 翻訳内容
ユーザーパスワード 文字列 現在のユーザー パスワード。PDF に読み取りアクセスを許可するためのユーザー パスワードがある場合に必要です。
所有者パスワード 文字列 現在の所有者のパスワード。PDF にフルアクセスを許可するための所有者パスワードがある場合に必要です。
新しいユーザーパスワード 文字列 読み取りアクセス用の新しいユーザー パスワード。
pdfとして保存 ブール値 PDF を PDF/A-3 準拠として保存します。
pdfとして保存ua ブール値 PDF を PDF/UA 準拠として保存します。
著者 文字列 PDF メタデータの作成者プロパティを設定します。
タイトル 文字列 PDF メタデータのタイトル プロパティを設定します。
主題 文字列 PDF メタデータの Subject プロパティを設定します。

API統合: Pythonの例

入力パラメータに慣れたら、Python またはその他の好みの言語を使用して API を呼び出すことができます。 以下は、Python を使用してこの API を統合する方法の例です。

import requests

# Endpoint URL
url = 'http://localhost:8080/v1/document-services/pdfs/encrypt'

# Headers with metadata information
headers = {
    'accept': '*/*',
    '著者': 'Iron Software',
    'タイトル': 'ENCRYPTION DEMO 2024',
    '主題': 'DEMO EXAMPLE'
}

# Files to be sent in the request
files = {
    'pdfファイル': ('sample.pdf', open('sample.pdf', 'rb'), 'アプリケーション/pdf')
}

# Parameters for encryption and permissions
data = {
    'コンテンツの抽出を許可する': 'true',
    'フォーム入力を許可する': 'true',
    '注釈を許可する': 'false',
    '印刷を許可する': 'false',
    '変更を許可する': 'true',
    '新しい所有者のパスワード': 'password',
    '新しいユーザーパスワード': 'password',
    'pdfとして保存': 'false',
    'pdfとして保存ua': 'false'
}

# Send POST request with parameters
response = requests.post(url, headers=headers, files=files, data=data)

# Save the encrypted PDF to file system
with open('sample_encrypted.pdf', 'wb') as f:
    f.write(response.content)

print('PDF encrypted successfully.')
import requests

# Endpoint URL
url = 'http://localhost:8080/v1/document-services/pdfs/encrypt'

# Headers with metadata information
headers = {
    'accept': '*/*',
    '著者': 'Iron Software',
    'タイトル': 'ENCRYPTION DEMO 2024',
    '主題': 'DEMO EXAMPLE'
}

# Files to be sent in the request
files = {
    'pdfファイル': ('sample.pdf', open('sample.pdf', 'rb'), 'アプリケーション/pdf')
}

# Parameters for encryption and permissions
data = {
    'コンテンツの抽出を許可する': 'true',
    'フォーム入力を許可する': 'true',
    '注釈を許可する': 'false',
    '印刷を許可する': 'false',
    '変更を許可する': 'true',
    '新しい所有者のパスワード': 'password',
    '新しいユーザーパスワード': 'password',
    'pdfとして保存': 'false',
    'pdfとして保存ua': 'false'
}

# Send POST request with parameters
response = requests.post(url, headers=headers, files=files, data=data)

# Save the encrypted PDF to file system
with open('sample_encrypted.pdf', 'wb') as f:
    f.write(response.content)

print('PDF encrypted successfully.')
PYTHON

手順の説明:

  • PDF をロード: 暗号化する PDF ファイルがローカル ファイル システムからロードされます。
  • 暗号化パラメータを設定: 印刷、フォーム記入、コンテンツ抽出を許可するなどの権限を定義し、新しいパスワードを設定します。
  • API を呼び出す: [POST] Encrypt/Add Password & Permissions API が呼び出され、必要なパラメータが渡されます。 -結果を保存する: 暗号化された PDF が新しいファイルとして保存されます。

PDF ファイルは以下のように暗号化されます。 PDF コンテンツを表示するには、"パスワード"を入力してください。

よくある質問

機密情報を保護するためにPDFファイルを暗号化するにはどうすればよいですか?

PDFファイルを暗号化するには、IronSecureDoc APIを使用して、ユーザーパスワードとオーナーパスワードの両方を設定できます。これらのパスワードは、印刷やフォーム入力などのアクセスと権限を制御するのに役立ち、ドキュメントのセキュリティを確保します。

IronSecureDoc APIを使用したPDF暗号化にはどのような手順が含まれていますか?

まず、IronSecureDoc Dockerイメージを取得し、ホスティング環境に応じてセットアップします。次に、APIを使用して暗号化のパラメータを指定し(パスワードや権限の設定など)、APIコールを実行して保護されたPDFを生成します。

コードを書かずにIronSecureDoc APIをテストするにはどうすればよいですか?

Swaggerを使用してIronSecureDoc APIをテストできます。Swagger UIにアクセスし、関連するAPIエンドポイントを見つけ、必要なパラメータを入力してリクエストを実行し、レスポンスを確認してAPIが正しく機能していることを確認してください。

PDFセキュリティにおけるユーザーパスワードとオーナーパスワードとは何ですか?

PDFセキュリティでは、ユーザーパスワードはドキュメントの読み取りを許可し、オーナーパスワードは権限の変更を含む完全なアクセスを許可します。IronSecureDocを使用すると、両方の種類のパスワードを設定してドキュメントのセキュリティを強化できます。

IronSecureDocを使ってPDFをPDF/A準拠に設定することはできますか?

はい、IronSecureDoc APIには、暗号化されたPDFを長期保存のための電子文書の標準であるPDF/A-3準拠として保存するためのパラメータが含まれています。

IronSecureDoc APIで制御できる権限には何がありますか?

IronSecureDoc APIを使用すると、印刷、フォーム入力、コンテンツ抽出、注釈、変更などの権限を制御でき、PDFがセキュリティポリシーに一致した形式で使用されるようにします。

IronSecureDoc APIをPythonアプリケーションと統合するにはどうすればよいですか?

PythonとIronSecureDoc APIを統合するには、requestsライブラリを利用してAPIエンドポイントにPOSTリクエストを送信します。必要なヘッダー、パラメータ、ファイルデータをリクエストに含めてPDFファイルを暗号化し管理します。

IronSecureDocを使用してPDFを暗号化するために必要なパラメータは何ですか?

必要なパラメータには、暗号化するPDFファイル、ユーザーとオーナーのパスワード、および印刷や編集などのアクションに対する権限が含まれます。これらのパラメータは、ドキュメントのセキュリティと使用の管理を保証します。

IronSecureDocを使用した暗号化中にPDFのメタデータを変更することは可能ですか?

はい、著者、タイトル、主題などのPDFメタデータは、IronSecureDoc APIのオプションパラメータを使って変更でき、暗号化プロセス中にドキュメント情報をカスタマイズすることが可能です。

IronSecureDocをローカルに実行するためのホスティング要件は何ですか?

IronSecureDocは、Windows、Mac、またはLinuxシステムでローカルにホスティングできます。サービスの正しいインストールと運用を確保するために、オペレーティングシステムに特化したセットアップチュートリアルに従ってください。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Version: 2024.10 リリース