我们遇到使用该产品的问题。似乎iText 5.4.3中的某些功能不能正常工作吗?请问,有人可以给我们一个如何解决的提示吗?
我们将src.pdf修改为dest.pdf,如下所示:
Function CreateFlattedPdf(ByRef originalPdf As Byte()) As Byte()
Dim retValue As Byte() = Nothing
Dim originalPdfReader As PdfReader = New PdfReader(originalPdf)
Dim pdfKopie As MemoryStream = New MemoryStream()
Dim pdfKopieStamper As PdfStamper = New PdfStamper(originalPdfReader, pdfKopie)
pdfKopieStamper.SetEncryption(False, userPassword, ownerPassword, _
PdfWriter.ALLOW_ASSEMBLY _
Or PdfWriter.ALLOW_COPY _
Or PdfWriter.ALLOW_DEGRADED_PRINTING _
Or PdfWriter.ALLOW_FILL_IN _
Or PdfWriter.ALLOW_MODIFY_ANNOTATIONS _
Or PdfWriter.ALLOW_MODIFY_CONTENTS _
Or PdfWriter.ALLOW_PRINTING _
Or PdfWriter.ALLOW_SCREENREADERS _
)
' Entferne die Signaturinformationen aus dem original Pdf-Dokument
pdfKopieStamper.FormFlattening = True
pdfKopieStamper.Close()
' Schreibe den Inhalt der geflatteten Kopie in die Antwort
retValue = pdfKopie.ToArray()
' Schließe die Bearbeitung des Dokumentes ab
pdfKopie.Close()
originalPdfReader.Close()
Return retValue
End Function
此外,我们提供了所有可能的文本权利。结果我们得到一个PDF,其中页面提取(页面提取)和文档安排(文档编译)不允许?!
我的问题是:
提前感谢您的帮助!
英戈
答案 0 :(得分:2)
OP看到的权限选项卡确实显示了一些缺少的权限:
使用Adobe Acrobat检查OP's result file的权限,但结果有所不同:
仅仅展平OP's source file(根本不加密!),获得this file,Adobe Acrobat甚至会显示这些权限:
这是Adobe Reader 的行为,OP最有可能使用的PDF查看器:OP看到的权限选项卡不仅代表加密过程中有或没有被禁止的内容,而且PDF查看器本身的限制。
OP似乎存在一种误解,即与未加密的文件相比,使用加密和设置权限位可以添加到功能。实际上它是另一种方式:加密允许您删除权限与未加密文档允许的相比。通过不使用某些ALLOW_ *权限位,您撤销权限。只需不加密文档即可获得最大权限数。
除了未加密文档的权限之外,特定PDF查看程序可能还需要使用权,这些使用权 查看器特定。此类PDF查看器(最重要的是Acrobat Reader)通常相当便宜或免费,但除非相关文档具有适当的使用权,否则它们不提供完整功能。
可以通过使用权签名添加使用权限。要应用此类使用权利签名,您通常需要软件或由PDF查看器制造商提供的服务。
要添加Adobe Reader的使用权限,例如,您可以使用Adobe Acrobat或某些Adobe Lifecycle Services。
因此,
因此,我们得到一个PDF,其中不允许页面提取(页面提取)和文档安排(文档编译)
没有。如上所示,您的dest.pdf仅禁止页面提取,并且一旦您停止加密,即使是允许的也是如此。
1这是iText的不当行为,或者,一般可以用iText更改此设置吗?如果是这样,如何(代码示例)?
没有 iText的错误行为,它是Adobe Reader的行为。 Adobe Reader一般限制其功能,仅解除具有使用权限的文档的限制。此类使用权限只能由Adobe软件应用。
2可以在没有任何密码的情况下设置这些权限吗?到目前为止,我们只看到设置权限的功能总是与用户和所有者密码一起使用。
使用加密实际上会适得其反,因为它只能用于删除权限,而不能用于添加。
有关parallel post on the itext-questions mailing list的问题的其他信息: