Mengganti kata sandi di PDF melalui Python SDK
API untuk mengganti kata sandi dalam dokumen PDF menggunakan Aspose.PDF Cloud Python SDK
Get StartedCara mengganti kata sandi di PDF melalui Cloud Python SDK
Untuk mengganti kata sandi di PDF, kita akan menggunakan Aspose.PDF Cloud Python SDK. Cloud SDK ini membantu pemrogram Python dalam mengembangkan aplikasi pembuat, anotator, editor, dan konverter PDF berbasis cloud menggunakan bahasa pemrograman Python melalui Aspose.PDF REST API. Cukup buat akun di Aspose for Cloud dan dapatkan informasi aplikasi Anda. Setelah Anda memiliki App SID & kunci, Anda siap menggunakan Aspose.PDF Cloud Python SDK. Jika paket python di-host di Github, Anda dapat menginstal langsung dari Github:
Instalasi dari Github
pip install git+https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-python.git
Perintah Konsol Pengelola Paket
pip install asposepdfcloud
Langkah-langkah untuk mengganti kata sandi di PDF melalui Python
Pengembang Aspose.PDF Cloud dapat dengan mudah memuat & mengganti kata sandi dalam PDF hanya dalam beberapa baris kode.
- Instal Python SDK
- Unggah dokumen PDF ke server Aspose Cloud
- Panggil API untuk Mengganti Kata Sandi dalam dokumen PDF.
- Periksa respons dan catat hasilnya.
- Unduh dokumen PDF yang sudah diproses dari server Aspose Cloud
Mengganti kata sandi di PDF menggunakan Cloud Python SDK
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()
Mengganti kata sandi di PDF
Mengganti kata sandi dalam dokumen PDF sangat penting ketika akses ke isinya dibatasi karena enkripsi. Ini memungkinkan pengguna yang berwenang untuk mendapatkan kembali kendali penuh atas file, memungkinkan pengeditan, penayangan, dan ekstraksi konten. Proses ini sangat penting dalam alur kerja di mana dokumen aman harus diakses secara programatik atau diintegrasikan ke dalam sistem yang lebih besar.
Dengan menggunakan alat seperti Aspose.PDF Cloud, penggantian kata sandi dapat dilakukan dengan mudah dan aman hanya dengan kata sandi pemilik atau pengguna yang benar. Ini memastikan informasi sensitif tetap terlindungi sementara tetap memberikan fleksibilitas bagi mereka yang memerlukan akses yang sah.
Akhirnya, penggantian kata sandi dalam PDF memungkinkan penanganan dokumen yang lancar dan memperkuat pentingnya praktik keamanan dokumen yang kuat namun mudah dikelola. Ganti kata sandi dalam dokumen PDF dengan Aspose.PDF Cloud Python SDK.
Dengan pustaka Python kami, Anda dapat:
- Menambahkan header & footer dokumen PDF dalam format teks atau gambar.
- Menambahkan tabel & stempel teks atau gambar ke dokumen PDF.
- Menambahkan beberapa dokumen PDF ke file yang sudah ada.
- Bekerja dengan lampiran PDF, anotasi, & bidang formulir.
- Menerapkan enkripsi atau dekripsi ke dokumen PDF & mengatur kata sandi.
- Menghapus semua stempel & tabel dari halaman atau seluruh dokumen PDF.
- Menghapus stempel atau tabel tertentu dari dokumen PDF berdasarkan ID-nya.
- Mengganti satu atau beberapa instance teks pada halaman PDF atau dari seluruh dokumen.
- Dukungan luas untuk mengonversi dokumen PDF ke berbagai format file lainnya.
- Mengekstrak berbagai elemen dari file PDF & membuat dokumen PDF dioptimalkan.
- Anda dapat mencoba Aplikasi gratis kami untuk menguji fungsionalitasnya secara online.
- Sumber Belajar
- Dokumentasi
- Kode Sumber
- Referensi API
- Dukungan Produk
- Dukungan Gratis
- Dukungan Berbayar
- Blog
- Mengapa Aspose.PDF Cloud untuk Python?
- Daftar Pelanggan
- Keamanan