2009-06-10 2 views
1

Я пытаюсь встроить средство просмотра PDF в элемент управления WinForms таким образом, что я могу отображать PDF для пользователя в контексте моего приложения. Мне также необходимо запретить пользователю копировать текст, печатать или сохранять копию (конфиденциальные данные).Встроенный просмотрщик PDF в элементе управления WinForms

До сих пор я пытался использовать WebBrowser для размещения ActiveX-контроллера Acrobat Reader. Это приближает меня, но оставляет меня с двумя проблемами.
1. Любые pdf-файлы, которые я открываю, кажутся открытыми с точки зрения файла, пока приложение не отключится. Я пробовал вызывать Dispose() и Navigate() безрезультатно.
2. Мне нужно отключить панель инструментов в Reader. Я не могу настроить параметры просмотра в исходных файлах PDF, но я рассматриваю возможность использования iText для перезаписи файлов с установленными настройками (если я могу это сделать).

Я также был бы доволен хорошо рекомендованной сторонней библиотекой, которая сделает это.

ответ

2

Re: 1. хреново, но вы можете сделать копию PDF в папку Темп

Path.GetTempPath() 

и открытым, что каждый раз, когда пользователь должен был видеть, что PDF, поэтому пусть читатель замок что файл все, что он хочет.

Re: 2. Вы попробуйте добавить

toolbar=0 

в URL? Ссылка (и пример!) По адресу:

см http://partners.adobe.com/public/developer/en/acrobat/PDFOpenParameters.pdf#toolbar=0

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) 
Смежные вопросы