Establecer privilegios en un archivo PDF existente
Contents
[
Hide
]
Establecer privilegios de PDF sin contraseñas
Verifique cómo aplicar privilegios de documento a un PDF sin especificar contraseñas de usuario o propietario utilizando Aspose.PDF for Python via .NET. Este fragmento de código muestra cómo controlar las acciones permitidas mientras se mantiene el documento accesible.
- Crear un objeto ‘PdfFileSecurity’.
- Vincular el PDF de entrada.
- Definir privilegios del documento.
- Llame al método ‘set_privilege()’ sin pasar contraseñas.
- Guarde el PDF actualizado.
from io import FileIO
import sys
from os import path
import aspose.pdf as ap
import aspose.pdf.facades as pdf_facades
sys.path.append(path.join(path.dirname(__file__), ".."))
from config import set_license, initialize_data_dir
# Set PDF Privileges Without Passwords
def set_pdf_privileges_without_passwords(infile, outfile):
"""Set PDF privileges without specifying user and owner passwords."""
# Create PdfFileSecurity object
file_security = pdf_facades.PdfFileSecurity()
# Bind PDF document
file_security.bind_pdf(infile)
# Define privileges
privilege = pdf_facades.DocumentPrivilege.forbid_all
privilege.allow_print = True
# Apply privileges (owner password will be generated automatically)
file_security.set_privilege(privilege)
# Save updated PDF
file_security.save(outfile)
Establecer privilegios de PDF con contraseñas de usuario y propietario
Para asegurar completamente un documento PDF, a menudo se necesita tanto control de acceso (contraseñas) como restricciones de uso (permisos). Al combinar estos, puedes garantizar que solo los usuarios autorizados puedan abrir el documento y realizar acciones específicas.
Usando el método set_privilege con parámetros de contraseña, puedes:
- Proteger el documento con una contraseña de usuario
- Definir una contraseña de propietario para control total
- Configurar acciones permitidas y restringidas
- Aplicar políticas de seguridad a nivel de documento
from io import FileIO
import sys
from os import path
import aspose.pdf as ap
import aspose.pdf.facades as pdf_facades
sys.path.append(path.join(path.dirname(__file__), ".."))
from config import set_license, initialize_data_dir
# Set PDF Privileges with User and Owner Passwords
def set_pdf_privileges_with_passwords(infile, outfile):
"""Set PDF privileges using user and owner passwords."""
# Create PdfFileSecurity object
file_security = pdf_facades.PdfFileSecurity()
# Bind PDF document
file_security.bind_pdf(infile)
# Define privileges
privilege = pdf_facades.DocumentPrivilege.forbid_all
privilege.allow_print = True
privilege.allow_copy = False
# Apply privileges with passwords
file_security.set_privilege("user_password", "owner_password", privilege)
# Save updated PDF
file_security.save(outfile)
Intenta establecer privilegios de PDF sin excepción
Este fragmento de código explica cómo controlar el acceso y restringir acciones como copiar, mientras se permiten otras como imprimir.
- Cree un objeto ‘PdfFileSecurity’.
- Carga el PDF de origen usando el método ‘bind_pdf()’.
- Definir privilegios del documento.
- Aplicar privilegios con contraseñas.
- Guarde el PDF actualizado.
from io import FileIO
import sys
from os import path
import aspose.pdf as ap
import aspose.pdf.facades as pdf_facades
sys.path.append(path.join(path.dirname(__file__), ".."))
from config import set_license, initialize_data_dir
# Try Set PDF Privileges Without Exception
def try_set_pdf_privileges_without_exception(infile, outfile):
"""Attempt to set PDF privileges without throwing an exception on failure."""
# Create PdfFileSecurity object
file_security = pdf_facades.PdfFileSecurity()
# Bind PDF document
file_security.bind_pdf(infile)
# Define privileges
privilege = pdf_facades.DocumentPrivilege.forbid_all
privilege.allow_print = True
# Attempt to apply privileges
result = file_security.try_set_privilege(
"user_password", "owner_password", privilege
)
# Save only if operation succeeded
if result:
file_security.save(outfile)
else:
print("Setting privileges failed. Check passwords or document state.")