PNG
JPG
BMP
TIFF
PDF
如何通过云端Python SDK加密PDF
为了加密PDF,我们将使用 Aspose.PDF Cloud Python SDK。这个云端SDK帮助Python程序员开发基于云的PDF创建、注释、编辑和转换应用程序,通过Aspose.PDF REST API使用Python编程语言。只需在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 SDK加密PDF的步骤
Aspose.PDF Cloud开发者可以轻松地通过几行代码加载和加密PDF。
- 安装Python SDK。
- 访问Aspose Cloud Dashboard。
- 使用base64编码密码通过AES-256加密文件。
- 将加密的PDF下载回本地文件夹。
使用Python加密PDF
import shutil
import json
import logging
from pathlib import Path
import base64
from asposepdfcloud import ApiClient, PdfApi, CryptoAlgorithm
# Configure logging
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")
class Config:
"""Configuration parameters."""
CREDENTIALS_FILE = Path(r"C:\\Projects\\ASPOSE\\Pdf.Cloud\\Credentials\\credentials.json")
LOCAL_FOLDER = Path(r"C:\Samples")
PDF_DOCUMENT_NAME = "sample.pdf"
LOCAL_RESULT_DOCUMENT_NAME = "output_sample.pdf"
ENCRYPT_ALGORITHM = CryptoAlgorithm.AESX256
USER_PASSWORD = 'User-Password'
OWNER_PASSWORD = 'Owner-Password'
class pdfEncryption:
"""Class for managing PDF encryption 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 / 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 encrypt_document(self):
"""Encrypt the PDF document."""
if self.pdf_api:
try:
user_password_encoded = base64.b64encode(bytes(Config.USER_PASSWORD, encoding='utf-8'))
owner_password_encoded = base64.b64encode(bytes(Config.OWNER_PASSWORD, encoding='utf-8'))
response = self.pdf_api.post_encrypt_document_in_storage(Config.PDF_DOCUMENT_NAME, user_password_encoded, owner_password_encoded, Config.ENCRYPT_ALGORITHM)
if response.code == 200:
logging.info(f"encrypt_document(): Document #{Config.PDF_DOCUMENT_NAME} successfully encrypted.")
else:
logging.error(f"encrypt_document(): Failed to encrypt document #{Config.PDF_DOCUMENT_NAME}. Response code: {response.code}")
except Exception as e:
logging.error(f"aencrypt_document(): Error while encrypted document: {e}")
if __name__ == "__main__":
pdf_encrypt = pdfEncryption()
pdf_encrypt.upload_document()
pdf_encrypt.encrypt_document()
pdf_encrypt.download_result()
加密PDF
加密PDF文档是一种简单而强大的方式,可以保护敏感内容,确保隐私,并保持对文档使用方式的控制。无论您是共享商业合同、财务报告还是个人记录,加密都可以帮助保护您的信息不被未授权访问、篡改或滥用。 通过应用加密并设置适当的权限,您可以增强文档的安全性,确保符合行业法规,并与您的受众建立信任。在当今的数字世界中,PDF加密不仅仅是一种功能——它是负责任的数据处理的必要条件。 使用Aspose.PDF Cloud Python SDK加密PDF文档。
使用我们的Python库,您可以:
- 合并PDF文档。
- 拆分PDF文件。
- 将PDF转换为其他格式,反之亦然。
- 操作注释。
- 处理PDF中的图像等。
- 您可以尝试我们的免费应用在线测试功能。