Cifrar PDF usando Go
Contents
[
Hide
]
Cifrar archivo PDF usando usando contraseña de usuario o de propietario
Para cifrar documentos de forma fácil y segura, puedes usar Aspose.PDF for Go a través de C++.
- El userPassword, si está establecido, es lo que necesitas proporcionar para abrir un PDF. Acrobat/Reader le pedirá al usuario que introduzca la contraseña de usuario. Si no es correcta, el documento no se abrirá.
- El ownerPassword, si está establecido, controla los permisos, como imprimir, editar, extraer, comentar, etc. Acrobat/Reader rechazará estas acciones según la configuración de permisos. Acrobat requerirá esta contraseña si deseas establecer/cambiar permisos.
El PDF está protegido con contraseñas de usuario y de propietario, configurado con permisos de acceso específicos y cifrado usando el algoritmo AES-128 con seguridad compatible con PDF 2.0. El documento cifrado se guarda luego en el disco.
- Crear un nuevo documento PDF.
- Cifrar el documento PDF con encrypt método.
- Especifique una contraseña de usuario para restringir la apertura del documento.
- Especifique una contraseña de propietario para controlar los permisos.
- Defina acciones permitidas usando una bandera de bits de permisos.
- Elija AES-128 como el algoritmo de cifrado.
- Habilite el cifrado PDF 2.0 para el cumplimiento de seguridad moderno.
- Guarde el documento protegido usando SaveAs, escribiéndolo en un archivo nuevo.
package main
import "github.com/aspose-pdf/aspose-pdf-go-cpp"
import "log"
func main() {
// New creates a new PDF-document
pdf, err := asposepdf.New()
if err != nil {
log.Fatal(err)
}
// Close() releases allocated resources for PDF-document
defer pdf.Close()
// Encrypt(userPassword, ownerPassword, permissions, cryptoAlgorithm, usePdf20) encrypts PDF-document
err = pdf.Encrypt(
"userpass",
"ownerpass",
asposepdf.PrintDocument|asposepdf.ModifyContent|asposepdf.FillForm,
asposepdf.AESx128,
true,
)
if err != nil {
log.Fatal(err)
}
// SaveAs(filename string) saves previously opened PDF-document with new filename
err = pdf.SaveAs("sample_with_password.pdf")
if err != nil {
log.Fatal(err)
}
}