HTML JPG PDF XML DOCX
  Product Family
PDF

Python SDK を使用した PDF のパスワード変更

Aspose.PDF Cloud Python SDK を使用した PDF ドキュメントのパスワード変更用 API

Get Started

Cloud Python SDK を使用した PDF のパスワード変更方法

PDF のパスワードを変更するには、Aspose.PDF Cloud Python SDK を使用します。 この Cloud SDK は、Python プログラマーが Aspose.PDF REST API を介してクラウドベースの PDF 作成、注釈付け、編集、および変換アプリを開発するのを支援します。Aspose for Cloud でアカウントを作成して、アプリケーション情報を取得してください。App SID とキーを取得したら、Aspose.PDF Cloud Python SDK を使用する準備が整います。Python パッケージが Github にホストされている場合、Github から直接インストールできます。

Github からのインストール



    pip install git+https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-python.git

パッケージ マネージャー コンソール コマンド


    pip install asposepdfcloud

Python を使用した PDF のパスワード変更手順

Aspose.PDF Cloud 開発者は、わずか数行のコードで簡単に PDF のパスワードを読み込み、変更できます。

  1. Python SDK をインストール
  2. PDF ドキュメントを Aspose Cloud サーバーにアップロード
  3. PDF ドキュメントのパスワード変更 API を呼び出します。
  4. 応答を確認し、結果を記録します。
  5. 処理された PDF ドキュメントを Aspose Cloud サーバーからダウンロード
 

Cloud Python SDK を使用した PDF のパスワード変更


    import shutil
    import json
    import logging
    from pathlib import Path
    import base64
    from asposepdfcloud import ApiClient, PdfApi

    # Configure logging
    logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")

    class Config:
        """Configuration parameters."""
        CREDENTIALS_FILE = Path(r"..\\credentials.json")
        LOCAL_FOLDER = Path(r"C:\Samples")
        PDF_DOCUMENT_NAME = "sample_encrypted.pdf"
        LOCAL_RESULT_DOCUMENT_NAME = "output_sample.pdf"
        DOCUMENT_PASSWORD = 'Owner-Password'
        NEW_USER_PASSWORD = "NEW-User-Password"
        NEW_OWNER_PASSWORD = "NEW-Owner-Password"
    
     class pdfEncoder:
        """Class for replacing password in PDF encrypted document using Aspose PDF Cloud API."""
        def __init__(self, credentials_file: Path = Config.CREDENTIALS_FILE):
            self.pdf_api = None
            self._init_api(credentials_file)

       def _init_api(self, credentials_file: Path):
            """Initialize the API client."""
            try:
                with credentials_file.open("r", encoding="utf-8") as file:
                    credentials = json.load(file)
                    api_key, app_id = credentials.get("key"), credentials.get("id")
                    if not api_key or not app_id:
                        raise ValueError("init_api(): Error: Missing API keys in the credentials file.")
                    self.pdf_api = PdfApi(ApiClient(api_key, app_id))
            except (FileNotFoundError, json.JSONDecodeError, ValueError) as e:
                logging.error(f"init_api(): Failed to load credentials: {e}")

        def upload_document(self):
            """ Upload a PDF document to the Aspose Cloud server. """
            if self.pdf_api:
                file_path = Config.LOCAL_FOLDER / Config.PDF_DOCUMENT_NAME
                try:
                    self.pdf_api.upload_file(Config.PDF_DOCUMENT_NAME, str(file_path))
                    logging.info(f"upload_file(): File '{Config.PDF_DOCUMENT_NAME}' uploaded successfully.")
                except Exception as e:
                    logging.error(f"upload_document(): Failed to upload file: {e}")

        def download_result(self):
            """ Download the processed PDF document from the Aspose Cloud server. """
            if self.pdf_api:
                try:
                    temp_file = self.pdf_api.download_file(Config.PDF_DOCUMENT_NAME)
                    local_path = Config.LOCAL_FOLDER / ("password_change_" + Config.LOCAL_RESULT_DOCUMENT_NAME)
                    shutil.move(temp_file, str(local_path))
                    logging.info(f"download_result(): File successfully downloaded: {local_path}")
                except Exception as e:
                    logging.error(f"download_result(): Failed to download file: {e}")

        def change_passwords(self):
            """Decrypt the PDF document."""
            if self.pdf_api:
                try:
                    password_encoded = base64.b64encode(bytes(Config.DOCUMENT_PASSWORD, encoding='utf-8'))

                    new_owner_pwd_encoded = base64.b64encode(bytes(Config.NEW_OWNER_PASSWORD, encoding='utf-8'))
                    new_user_pwd_encoded = base64.b64encode(bytes(Config.NEW_USER_PASSWORD, encoding='utf-8'))

                    response = self.pdf_api.post_change_password_document_in_storage(Config.PDF_DOCUMENT_NAME, password_encoded, new_user_pwd_encoded, new_owner_pwd_encoded)
                    if response.code == 200:
                        logging.info(f"change_passwords(): Password in document #{Config.PDF_DOCUMENT_NAME} successfully modified.")
                    else:
                        logging.error(f"change_passwords(): Failed to chnage passowd in document #{Config.PDF_DOCUMENT_NAME}. Response code: {response.code}")
                except Exception as e:
                    logging.error(f"change_passwords(): Error while change passwords in document: {e}")


    if __name__ == "__main__":
        pdf_encoder = pdfEncoder()
        pdf_encoder.upload_document()
        pdf_encoder.change_passwords()
        pdf_encoder.download_result()
 

PDF のパスワード変更

暗号化によってその内容へのアクセスが制限されている場合、PDF ドキュメントのパスワードを変更することは重要です。これにより、正当なユーザーがファイルを編集、表示、内容抽出できるようになり、完全な制御を取り戻すことができます。このプロセスは、プログラムで安全なドキュメントにアクセスする必要があるワークフローや、より大きなシステムに統合する必要がある場合に特に重要です。

Aspose.PDF Cloud のようなツールを使用すると、正しいオーナーまたはユーザーのパスワードを持っていれば、簡単かつ安全にパスワードを変更できます。これにより、機密情報が保護されつつ、正当なアクセスを必要とするユーザーに柔軟性が確保されます。

最終的に、PDF のパスワード変更により、スムーズなドキュメント処理が可能になり、強力で管理しやすいドキュメントセキュリティの重要性が強調されます。 Aspose.PDF Cloud Python SDK を使用して PDF ドキュメントのパスワードを変更します。

弊社の Python ライブラリでは、以下を行うことができます:

  • PDF ドキュメントのヘッダーとフッターをテキストまたは画像形式で追加します。
  • PDF ドキュメントにテーブルおよびテキストまたは画像スタンプを追加します。
  • 複数の PDF ドキュメントを既存のファイルに追加します。
  • PDF の添付ファイル、注釈、フォームフィールドを操作します。
  • PDF ドキュメントに暗号化または復号化を適用し、パスワードを設定します。
  • ページまたは PDF ドキュメント全体からすべてのスタンプとテーブルを削除します。
  • PDF ドキュメントから ID に基づいて特定のスタンプまたはテーブルを削除します。
  • PDF ページまたはドキュメント全体でテキストの単一または複数のインスタンスを置き換えます。
  • PDF ドキュメントをさまざまな他のファイル形式に変換するための広範なサポート。
  • PDF ファイルのさまざまな要素を抽出し、PDF ドキュメントを最適化します。
  • 無料アプリ を試して、オンラインで機能をテストできます。

  •