在// Import HttpClientModule from @angular/common/http in AppModule
import {HttpClientModule} from '@angular/common/http';
//in place where you wanted to use `HttpClient`
import { HttpClient } from '@angular/common/http';
我可以看到三个选项:
pdftk
当我打开1$ pdftk input.pdf output protected-userpw.pdf userpw very_secret
2$ pdftk input.pdf output protected-ownerpw.pdf ownerpw very_secret
3$ pdftk input.pdf input_pw very_secret output protected-input.pdf
和protected-ownerpw.pdf
时,我不会要求输入密码。仅protected-input.pdf
给出预期结果。 protected-userpw.pdf
和ownerpw
做了什么?
我使用input_pw
从受保护的文件创建不受保护的文件。现在我想知道这总是有效的。 PDF格式支持哪些密码保护机制?以及qpdf
支持的内容。
答案 0 :(得分:4)
所有者和用户密码含义不同
在PDF文档中,您可以设置安全权限,如
这些实际上只是文档中的标志,如果它遵守它们,则由pdf查看器决定。
如果仅设置所有者密码,则用户密码将自动设置为空。 PDF文件仍在加密(所有流和字符串将以加密形式保存),但可以使用空密码对其进行解密。因此,您可以在没有任何密码输入的情况下打开PDF,但是一旦打开,您就只有权对文档执行某些操作,如安全权限中所指定的那样。 所以也许他不允许打印文件。
设置用户和所有者密码时,打开PDF的人需要在打开期间指定所有者或用户密码。如果他已指定用户密码,则其安全权限取决于pdf中的安全设置。如果他使用了所有者密码,他将获得所有安全权利。
PDF加密 PDF中支持许多不同的加密算法。加密密钥长度为40到128的RC4或AES以及用户定义的算法,这些算法并未包含在pdf规范中。在最近的PDF 1.7规范扩展(扩展级别3)中,还指定了AES 256。在稍后的扩展中,指定了更新,它稍微修改了AES 256并修复了理论安全漏洞。有几个工具仍然存在关于这些最后扩展的问题(但我不了解qpdf)。 这些扩展都可以在今天发布的PDF 2.0的ISO规范中的普通pdf规范中获得。