PDFファイルの編集
PDF ファイルは、安全で信頼性の高い形式であるため、法的契約、財務諸表、医療記録などの文書の共有によく使用されます。ただし、これらのファイルには、機密に保持する必要がある機密情報も含まれる場合があります。機密データを含む PDF ファイルを共有する必要がある場合、そのファイルを保護するには編集が最適です。編集とは、ドキュメントから機密情報を削除または黒く塗りつぶしながら、残りのコンテンツをそのまま維持するプロセスです。このブログ投稿では、Python を使用して PDF ファイルを編集する方法を紹介します。

PDF処理API

Aspose.PDF Cloud SDK for Python は、PDF ファイルをオンラインで編集するための優れたツールです。これは、PDF ファイルの作成、変換、操作など、PDF ドキュメントを操作するためのさまざまな機能を提供するクラウドベースの REST API です。この SDK を使用すると、コンピューターに追加のソフトウェアをインストールすることなく、PDF ファイルから機密情報をオンラインで簡単に編集できます。

従来の編集方法に比べて、API の編集機能はいくつかの利点があります。たとえば、API の編集機能は、手動編集よりも高速かつ正確です。また、機密情報がドキュメントから永久に削除されるため、情報への不正アクセスを防止できます。

最初のステップは、SDKをインストールすることです。SDKはPIPおよびGitHubリポジトリからダウンロードできます。インストールを完了するには、ターミナルで次のコマンドを実行してください。

pip install asposepdfcloud

PyCharm IDE

PyCharm IDE を使用している場合は、プロジェクトの依存関係として SDK を直接追加できます。

ファイル ->設定 ->プロジェクト ->Python インタープリター ->asposepdfcloud

キャプション

Image 1:- PyCharm settings option.

Aspose.PDF Python パッケージ

画像 2:- Aspose.Pdf Cloud Python パッケージ。

インストール後、次の主要なステップは、ダッシュボードからクライアントの資格情報を取得することです。アカウントをお持ちでない場合は、新しいアカウントの作成オプションを使用してサインアップするだけです。

Python を使用して PDF を編集する

Python コード スニペットを使用して PDF コンテンツを編集するには、以下の手順に従ってください。

  • クライアント資格情報を引数として渡して、ApiClient のインスタンスを作成します。
  • ここで、ApiClient オブジェクトを引数として渡しながら PdfApi を初期化します。
  • RedactionAnnotation オブジェクトを作成し、PdfApi の postpageredactionannotations(..) メソッドを呼び出して要件を満たします。
def redactPDF():
    try:
        #Client credentials
        client_secret = "1c9379bb7d701c26cc87e741a29987bb"
        client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # PdfApiClient を引数として渡しながら PdfApi インスタンスを作成します。
        pdf_api = PdfApi(pdf_api_client)

        # 入力PDFファイル
        input_file = 'marketing.pdf'

        # RedactAnnotationクラスのインスタンスを作成する
        redactAnnotation = asposepdfcloud.models.RedactionAnnotation() 
        redactAnnotation.contents = 'Confidential'

        # 注釈オブジェクトの色の詳細を設定する
        redactAnnotation.color = asposepdfcloud.Color(a = 0, r = 66, g = 111, b = 245)

        # 注釈の変更日を設定する
        redactAnnotation.modified = '01/01/2018 12:00:00.000 AM'
        redactAnnotation.id = 1

        # 注釈フラグをデフォルトとして設定する
        redactAnnotation.flags = [asposepdfcloud.models.AnnotationFlags.DEFAULT]
        redactAnnotation.name = 'redactName'

        # ページ上の注釈の長方形領域を指定する
        redactAnnotation.rect = asposepdfcloud.models.Rectangle(llx = 20, lly = 700, urx = 220, ury = 650 )
        redactAnnotation.page_index = 1

        # 注釈の ZIndex 係数
        redactAnnotation.z_index = 1

        # 垂直方向と水平方向の配置を中央に設定する
        redactAnnotation.horizontal_alignment = asposepdfcloud.models.HorizontalAlignment.CENTER
        redactAnnotation.vertical_alignment = asposepdfcloud.models.HorizontalAlignment.CENTER
        
        # 編集注釈のポイント詳細
        redactAnnotation.quad_point =  [
            asposepdfcloud.models.Point(5, 40),
            asposepdfcloud.models.Point(10, 60)
            ]

        # 注釈の塗りつぶし色の詳細
        redactAnnotation.fill_color = asposepdfcloud.Color(a = 10, r = 50, g = 168, b = 182)

        # 編集注釈に印刷されるオーバーレイテキスト
        redactAnnotation.overlay_text = 'Confidential Data'

        # 注釈の出現を繰り返す
        redactAnnotation.repeat = True

        # テキスト配置情報を左揃えに設定する
        redactAnnotation.text_alignment = asposepdfcloud.models.HorizontalAlignment.LEFT 

        # APIを呼び出して、ドキュメントの最初のページに編集注釈を追加します。
        response = pdf_api.post_page_redaction_annotations(name = input_file, page_number= 1, annotations= [redactAnnotation])
        
        # コンソールに応答コードを出力する
        print(response)

        # コンソールにメッセージを出力する(オプション)
        print('Redaction Annotation successfully added to PDF document !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)

cURL コマンドを使用して PDF コンテンツをブラックアウトする

cURL コマンドと Aspose.PDF Cloud を使用すると、PDF ファイルの編集がこれまで以上に簡単になります。Aspose.PDF Cloud は、cURL コマンドを含む複数のプログラミング言語で使用できる RESTful API です。テキストを黒く塗りつぶしたり、完全に削除したりすることで、PDF ファイルから機密情報を簡単に編集できます。API は安全で信頼性が高く、拡張性があるため、あらゆる規模の企業にとって理想的な選択肢です。

最初のステップは、次のコマンドを実行して accessToken を生成することです。

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=88d1cda8-b12c-4a80-b1ad-c85ac483c5c5&client_secret=406b404b2df649611e508bbcfcd2a77f" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

accessToken を取得したら、次のコマンドを実行して、PDF ドキュメント内の指定された長方形領域 (“LLX”: 20、“LLY”: 700、“URX”: 220、“URY”: 650) の情報を編集します。操作が成功すると、結果のファイルはクラウド ストレージに保存されます。

curl -v -X POST "https://api.aspose.cloud/v3.0/pdf/{inputPDF}/pages/1/annotations/redaction?apply=true" \
-H  "accept: application/json" \
-H  "authorization: Bearer {accessToken}" \
-H  "Content-Type: application/json" \
-d "[  {    \"Color\": {      \"A\": 0,      \"R\": 158,      \"G\": 50,      \"B\": 168    },    \"Contents\": \"Confidential\",    \"Modified\": \"01/18/2022 12:00:00.000 AM\",    \"Id\": \"1\",    \"Flags\": [      \"Default\"    ],    \"Name\": \"Name\",    \"Rect\": {      \"LLX\": 20,      \"LLY\": 700,      \"URX\": 220,      \"URY\": 650    },    \"PageIndex\": 1,    \"ZIndex\": 1,    \"HorizontalAlignment\": \"CENTER\",    \"VerticalAlignment\": \"CENTER\",    \"QuadPoint\": [      {        \"X\": 5,        \"Y\": 10      }    ],    \"FillColor\": {      \"A\": 10,      \"R\": 50,      \"G\": 168,      \"B\": 182    },    \"BorderColor\": {      \"A\": 10,      \"R\": 168,      \"G\": 50,      \"B\": 141    },    \"OverlayText\": \"Sensitive data\",    \"Repeat\": true,    \"TextAlignment\": \"Left\"  }]"

{inputPDF} をクラウド ストレージで使用可能な PDF ファイルの名前に置き換え、{accessToken} を上記で生成したアクセス トークンに置き換えます。

結論

結論として、PDF ファイルの編集は、機密情報の漏洩を防ぐための重要なタスクです。Aspose.PDF Cloud で Python または cURL コマンドのどちらを使用するかに関わらず、プロセスはよりシンプルかつ効率的になりました。そのため、法律専門家、医師、金融アナリストのいずれであっても、Python を使用して PDF ファイルを編集する方法を学ぶことで、機密情報を保護し、データ保護規制に準拠することができます。

便利なリンク

おすすめの記事

以下の内容について詳しく知るには、以下の記事をぜひご覧ください。