使用 Go 加密 PDF
Contents
[
Hide
]
使用用户或所有者密码加密 PDF 文件
要轻松且安全地加密文档,您可以使用 Aspose.PDF for Go via C++。
- userPassword,如果已设置,是打开 PDF 所需提供的密码。Acrobat/Reader 将提示用户输入用户密码。如果密码不正确,文档将无法打开。
- 如果设置了 ownerPassword,它会控制权限,例如打印、编辑、提取、评论等。Acrobat/Reader 将根据权限设置阻止这些操作。如果您想设置/更改权限,Acrobat 将要求此密码。
该 PDF 受用户密码和所有者密码保护,配置了特定的访问权限,并使用 AES-128 算法以及 PDF 2.0–兼容的安全性进行加密。加密后的文档随后被保存到磁盘。
- 创建一个新的 PDF 文档。
- 要加密 PDF 文档,请使用以下方法:encrypt。
- 指定用户密码以限制打开文档。
- 指定所有者密码以控制权限。
- 使用权限位标志定义允许的操作。
- 选择 AES-128 作为加密算法。
- 启用 PDF 2.0 加密以符合现代安全合规性。
- 使用以下方法保存加密文档:SaveAs,这将把文档写入一个新文件。
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)
}
}