Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Python có thể giúp bạn mã hóa và giải mã file PDF dễ dàng. Dưới đây là chi tiết cách mã hóa và giải mã file PDF bằng Python.

Vấn nạn bị xâm phạm các tập tin riêng tư khá phổ biến ngày nay. Vì thế, để đảm bảo chỉ những người được phép mới có thể truy cập nội dung file, bạn có thể mã hóa chúng trước khi gửi đi.
Để làm theo các bước dưới đây, bạn cần có kiến thức cơ bản về Python.
Trên một terminal Mac hoặc giao diện dòng lệnh Windows, chạy lệnh sau để cài thư viện PyMuPDF:
pip install PyMuPDF
Thư viện này sẽ giúp bạn mở và chỉnh sửa file PDF.

Khi đã hoàn tất cài đặt PyMuPDF, bạn đã sẵn sàng lập trình.
Nhập mô đun Fitz của thư viện PyMuPDF. Điều này sẽ cho phép bạn gọi và dùng các hàm mà nó hỗ trợ.
Import fitz
Bạn sẽ dùng fitz để mở, mã hóa, giải mã và lưu PDF.
Tạo một hàm kiểm tra mức độ mã hóa của PDF và trả về một giá trị boolean.
def pdf_is_encrypted(file):
pdf = fitz.Document(file)
return pdf.isEncrypted
Bạn sẽ dùng hàm này sau đó, để giúp chương trình tự động quyết định xem mã hóa hay giải mã PDF nhập vào.
Tạo một hàm để mã hóa PDF đầu vào. Hàm này cho bạn biết PDF đã được mã hóa hay chưa. Nếu chưa, nó sẽ mã hóa file bằng thuật toán AES-256. Đây là thuật toán mã hóa mạnh nhất mà fitz cung cấp. Cuối cùng, nó sẽ lưu PDF được mã hóa.
def encrypt_pdf_file(pdf, password, outfile, file):
if not pdf_is_encrypted(file):
perm = int(
# Ensure everyone with the PDF
# can access it
fitz.PDF_PERM_ACCESSIBILITY
| fitz.PDF_PERM_PRINT # permits printing
| fitz.PDF_PERM_COPY # permits copying
| fitz.PDF_PERM_ANNOTATE # permits annotations
)
# eEncryption algorithm
encrypt_meth = fitz.PDF_ENCRYPT_AES_256
pdf.save(outfile, encryption=encrypt_meth, user_pw=password,
permissions=perm)
if pdf.save:
print("PDF encrypted")
Hàm này lưu PDF được mã hóa vào đường dẫn file bạn chuyển đi trong đối số tệp ngoài.

Tạo một hàm giải mã. Hàm này đầu tiên sẽ kiểm tra xem file nhập vào có được mã hóa hay không. Nếu được mã hóa, nó sẽ nhắc người dùng nhập mật khẩu. Sau đó, nó sẽ thử mở PDF bằng mật khẩu được cung cấp. Nếu password đúng, fitz sẽ giải mã PDF. Sau đó, nó sẽ lưu nội dung của PDF được giải mã vào file PDF chưa được bảo vệ.
def decrypt_pdf(file):
if pdf_is_encrypted(file):
password = input('Enter pdf password : ')
pdf = fitz.open(file)
if pdf.authenticate(password):
pdf.save('decrypted.pdf')
if pdf.save:
print("PDF decrypted")
else:
print('Incorrect Password')
Code này lưu PDF chưa được bảo vệ vào thư mục làm việc hiện tại.

Sau khi giải mã file protected.pdf thành công, nó sẽ được lưu dưới dạng decrypted.pdf.
Tạo một hàm chính sẽ kiểm soát luồng chương trình. Nó sẽ lưu đường dẫn của PDF nhập vào, gọi hàm mã hóa, giải mã và chuyển các tham số nhập vào.
def main():
# replace the file path with either that of
# the pdf to be encrypted or decrypted
file = 'sample.pdf'
pdf = fitz.open(file)
password = 'pass123'
encrypt_pdf_file(pdf, password, 'protected.pdf', file)
decrypt_pdf(pdf)
Để thay đổi tên của file PDF được mã hóa, thay thế protected.pdf bằng tên bạn muốn nhưng nhớ giữ nguyên định dạng .pdf.
Đảm bảo phương thức chính (main) chạy trước:
if __name__ == '__main__':
main()
Code này kiểm tra xem tập lệnh có đang được chạy dưới dạng chương trình chính chứ không phải mô-đun đã nhập hay không. Nếu là chương trình chính, nó sẽ gọi hàm main.
Tạo chương trình mã hóa/giải mã PDF trong Python là một dự án thú vị nhưng thử thách. Nó giúp bạn rèn luyện kỹ năng Python và làm chủ kỹ năng xử lý tập tin bằng ngôn ngữ này.
Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Code tools: Chạy logic JavaScript tùy chỉnh trực tiếp trên cơ sở hạ tầng của ElevenLabs
Hướng dẫn quản lý Claude Memory chi tiết
9 ý tưởng workflow kết hợp Claude và Make thực sự hữu ích
5 tính năng tự động hóa bằng Gemini đáng thiết lập trên Android
Cách sử dụng ChatGPT tự động xử lý, trả lời thư mời họp Gmail trong tích tắc
So sánh hệ sinh thái Microsoft Copilot: Nên chọn công cụ nào?
TOP công cụ AI chỉnh sửa file PDF tốt nhất
Cách kết nối agent đàm thoại ElevenLabs với các công cụ và nguồn dữ liệu bên ngoài bằng MCP
TOP app chụp và chỉnh ảnh Trung Quốc tương tự Xingtu cực ảo diệu
Cắt file, chia nhỏ file PDF không cần phần mềm cực nhanh
Cách kiểm tra và xóa dữ liệu cá nhân trên ChatGPT
Cách tạo bảng tính bằng AI trên NoteGPT
Ứng dụng Copilot trong Word
TOP phần mềm thiết kế nhà 3D có tích hợp AI
Hướng dẫn giải phóng bộ nhớ lưu trữ ChatGPT
TOP công cụ AI đáng thử nhất trong năm
TOP Claude Connector giúp tăng năng suất làm việc
Thơ về tháng 10 hay, lãng mạn và tâm trạng nhất
TOP công cụ AI hỗ trợ lập trình tốt nhất
TOP trang web chia sẻ torrent phổ biến nhất
Hướng dẫn cài đặt và sử dụng n8n trên Windows 11
Cách lập trình chuyên nghiệp hơn, dễ dàng hơn với tính năng Tệp trên Grok
Công thức tính diện tích hình Elip
Hướng dẫn ngắt kết nối ứng dụng trên ChatGPT
Hướng dẫn tạo đoạn hội thoại cho topic trên Twee
Bức tranh tổng quan về hỗ trợ khách hàng tích hợp AI
Đừng chia sẻ ảnh cho đến khi bạn chạy kiểm tra siêu dữ liệu này!
6 cách mở Computer/System Properties trong Windows 10
Cách sửa lỗi There Are Currently No Power Options Available Windows
Hướng dẫn 8 cách mở bàn phím ảo trên Windows 10