2009-06-10 4 views
1

내 응용 프로그램의 컨텍스트 내에서 사용자에게 pdf를 표시 할 수있는 방식으로 WinForms 컨트롤에 PDF 뷰어를 포함하려고합니다. 또한 사용자가 텍스트 복사, 인쇄 또는 사본 저장 (민감한 데이터)을 방지해야합니다.WinForms 컨트롤에 포함 된 PDF 뷰어

지금까지 WebBrowser를 사용하여 Acrobat Reader ActiveX 컨트롤을 호스팅하려고 시도했습니다. 이것은 나를 가까이에 가져 오지만 2 가지 문제로 나를 남겨 둡니다.
1. 열려있는 모든 pdfs는 응용 프로그램이 종료 될 때까지 파일 핸들링 관점에서 열리는 것처럼 보입니다. Dispose() 및 Navigate()를 아무 소용이없는 호출하려고했습니다.
2. Reader에서 도구 모음을 비활성화해야합니다. 원본 pdf 파일에서 뷰어 환경 설정을 설정할 수는 없지만 iText를 사용하여 환경 설정 파일을 다시 작성하는 방법을 고려하고 있습니다 (그렇게 할 수 있다면).

이 작업을 수행하는 타사 라이브러리에도 만족합니다.

답변

2

재 : 1. 그것은 종류의 짜증하지만 당신은 임시 폴더

Path.GetTempPath() 

과에 PDF의 사본을 만들 수있는 개방형 그 때마다 리더 잠금 할 수 있도록, 그 PDF를 참조하는 데 필요한 사용자 그게 원하는 모든 파일.

재 : 2. 당신이 URL에

toolbar=0 

를 추가하려고 했습니까? 에서 참조 (예!) :

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)