我正在尝试在WinForms控件中嵌入一个pdf查看器,以便我可以在应用程序的上下文中向用户显示pdf。我还需要阻止用户复制文本,打印或保存副本(敏感数据)。
到目前为止,我已尝试使用WebBrowser来托管Acrobat Reader activex控件。这让我接近但是给我留下了两个问题 1.我打开的任何pdf似乎都从文件句柄的角度保持打开状态,直到应用程序关闭。我试过调用Dispose()和Navigate()无济于事 2.我需要在Reader中禁用工具栏。我无法在原始pdf文件中设置查看器首选项,但我正在考虑使用iText重写具有首选项设置的文件(如果我可以这样做)。
我也很高兴推荐一个推荐的第三方图书馆。
答案 0 :(得分:2)
Re:1。有点糟糕,但你可以将PDF副本复制到临时文件夹
Path.GetTempPath()
并打开每次用户需要查看该PDF时,让读者锁定该文件。
回复:2。您是否尝试追加
toolbar=0
到网址? Ref(和示例!)at:
请参阅http://partners.adobe.com/public/developer/en/acrobat/PDFOpenParameters.pdf#toolbar=0
答案 1 :(得分:0)
您可以使用iText重写文件。我有一个由外部应用程序创建的PDF,我需要通过电子邮件发送给客户。我使用iText加密它们并更改权限:
导入iTextSharp.text.pdf ....
Dim reader As PdfReader = New PdfReader(fileName)
PdfEncryptor.Encrypt(reader, New FileStream(mailFileName, FileMode.CreateNew), PdfWriter.STRENGTH128BITS, _
"password", "password", PdfWriter.AllowCopy Or PdfWriter.ALLOW_PRINTING)