2010-01-21 4 views
1

xml/xslt 기반 문서 뷰어 앱을 보유하고 있습니다. 현재 상태에서 사용자는 자신의 브라우저에서 xml 파일을 가리키고 자신의 컴퓨터에 설치된 Adobe Reader와 같은 PDF 뷰어 플러그인이있는 한 브라우저에서 메뉴 선택 항목에서 PDF 파일을 볼 수 있습니다.webbrowser 컨트롤을 사용하여 C# .NET 응용 프로그램과 함께 PDF 뷰어 플러그인을 포함하는 방법은 무엇입니까?

.NET 웹 브라우저 컨트롤을 사용하여 사용자가 자신의 브라우저를 사용할 필요가 없도록 문서 뷰어 (인터페이스 등)를 멋지게 렌더링하는 작은 응용 프로그램을 만들 수있었습니다. 이 단계를 더 진행하고 사용자가 자신의 시스템에 설치된 pdf 뷰어 플러그인을 갖고 플러그인을 포함시킬 수있는 필요성을 제거하고 싶습니다. 배송하려면 .exe 나 로컬로 종속 시키십시오. 플러그인에 .dll을 제공했습니다.

휴대용 앱 (예 : Firefox)으로 작업 해본 결과 휴대용 Firefox와 동일한 디렉토리 구조에 제공된 플러그인 dll을 휴대용 Firefox에서 사용할 수 있음을 알고 있습니다.

Webbrowser 컨트롤 (본질적으로 IE 인스턴스)을 강제로 플러그인에 대해 로컬에서 제공 한 DLL을 참조하거나 플러그 인에 어떻게 든 포함시킬 수 있습니까?

입력 해 주셔서 감사합니다.

+0

다른 플러그인의 PDF 플러그인 의존성을 제거해야하는 이유는 무엇입니까? 모든 사용자가 브라우저와 PDF 판독기를 모두 갖게 될 것입니다. 왜 코드를 작성하고 직접 작성해야합니까? – Walter

+0

안녕하세요. Walter, 저는 제 자신을 쓰고 싶지 않습니다. 독자가 내가 원하는 사람이고 자신이 이미 설치되어 있지 않다면 올바른 것을 설치하라는 말을 의지 할 필요가 없도록하고 싶습니다. 예를 들어, 특정 판독기 버전에서 일부 문제가 발생할 수 있습니다. 또한, 어도비 리더와 다른 것을 사용하고 싶을 수도 있습니다. – Streamline

답변

0

플러그인을 적법하게 재배포 할 수 있는지 여부는 플러그인 작성자에게 문의하십시오. 그런 다음 웹 브라우저 컨트롤이 플러그인에서 지원되는지 묻습니다. 플러그인은 웹 브라우저 컨트롤 용으로 설계되지 않은 ActiveX Document Server로 작성되었을 가능성이 높지만 플러그인이 속성 (즉, IE 전용 문서화되지 않은 비헤이비어를 사용하지 않음)로 작성된 경우 제대로 작동합니다.

Activex document server을 작성하여 PDF 파일 탐색을 처리 할 수도 있지만 MFC의 ActiveX 문서 서버 지원을 사용하는 경우에도 많은 작업이 수행됩니다. 또는 XML을 표시하고 클라이언트가 인쇄/다운로드를 원할 때만 PDF로 변환하는 XBAP/Silverlight/Flash 기반 뷰어를 작성할 수 있습니다. WebBrowser 컨트롤은 정말 인터넷 익스플로러의 인스턴스 래퍼이기 때문에

+0

플러그인은 IE에서 사용하는 것과 동일한 플러그인입니다. 서버가 아니라 PDF 뷰어입니다. 플러그인이 사용자의 시스템에 설치되었을 때 웹 브라우저 컨트롤을 사용하여 앱에서 잘 작동합니다. 내가 정말로 묻는 질문은 webbrowercontrol (또는 IE)이 플러그인의 시스템 기본 위치를 보는 대신 특정 디렉토리 위치에서 플러그인 (단지 dll)을 사용하는 방법에 관한 것입니다. 파일 시스템에서 선택된 pdf 파일을 탐색하는 웹 페이지로 모든 것이 잘 작동하므로 서버를 가지고 있으면이 테이블을 가져올 수 있는지 확실하지 않습니다. – Streamline

+0

아마 이전에 언급 한 것을 잊어 버린 부분은이 도구/응용 프로그램이 인터넷 상으로 파일을 다운로드하지 않고 로컬에있는 pdf 파일을 보는 것입니다. – Streamline

+0

ActiveX Document Server는 일반적으로 DLL에서 내보내는 COM 구성 요소입니다. 재배포 옵션을 찾으려면 플러그인 작성자에게 문의하십시오. 플러그인이 파란 달에 한 번 다른 DLL을로드하면 배포해야 할지도 모릅니다. –

0

아마도이 질문은 ... 다른 방법을 요청해야

특정 디렉토리 위치에있는 플러그인을 사용하여 Internet Explorer를 알 수있는 방법 호스트 컴퓨터의 기본 플러그인 위치가 아닌 다른 위치? 그렇게하면 PDF Reader 플러그인을 사용하고 호스트 시스템의 플러그인을 사용하지 않게 할 수 있습니다.

누구든지이 작업을 수행하는 방법을 알고 있습니까?

+0

나는 이것을 실제로 필요로하는 또 다른 이유를 보았습니다. IE에서 Reader 플러그인을 사용하도록 지정한 경우에도 IE가 Adobe Reader 용 플러그인 대신 Acrobat에서 플러그인을 사용하고자하므로 Adobe Acrobat이 설치되어있는 경우 문제가 있음을 발견했습니다. 누구든지 구체적으로 IE 또는 WebBrowser Control에게 PDF 파일로드에 사용할 플러그인을 지정하는 방법을 알고 있으며 지정된 디렉토리에서 플러그인이 될 수 있습니까? – Streamline

관련 문제