2009-03-09 3 views
1

첫 번째 질문을하시기 바랍니다 나와 함께 친절하고 도움에 미리 감사드립니다!자바 스크립트를 실행할 수있는 웹 페이지에서 PDF 콘텐츠를 호스팅하려면 어떻게해야합니까? ASP.Net 솔루션

저는 왜 내가 왜 내가 묻고있는 질문인지, 왜 내가하고 싶은 일을하고 싶은지 설명하기 위해 많은 내용을 추가 할 것입니다. 나와 함께 곰, 그게 전부 가치가있을거야.

이 응용 프로그램은 일반 대중에게 공개되지 않으며 우리는 사용자에 대한 제약이 있습니다 (IE 5.5 만 사용하십시오).

내가 추가해야하는 기존 웹 앱이 있습니다.

현재 aspx 페이지는 쿼리 문자열로 전달 된 일부 ID로 이동되며 페이지로드시 페이지의 응답 객체에서 전달되는 비즈니스 객체에 대한 호출이 수행됩니다. 해당 비즈니스 오브젝트는 PDF 바이트 내용 (비즈니스 오브젝트를 통해 SQL Server에서)을 가져오고 헤더에 필수 항목을 설정하여 PDF 바이트 데이터를 응답 오브젝트에 기록합니다. 사용자는 PDF를 볼 수 있으며 모든 것이 세계와 맞습니다.

이제 페이지를 앱으로 탐색 할 때 PDF 바이트 데이터가 표시되고이를 표시하는 것 외에 웹 클라이언트의 로컬 기반 독점 시스템 (Google은 이미 응용 프로그램의 워크 플로에서 Java 애플릿의 다른 지점을 통해이를 수행하면 작동합니다.)

나는 (일부 사용자 설정 또는 기타에 따라) 사용자가 'dynamicallly generated pdf 문서보기'페이지로 이동하면 사용자가 PDF를이 페이지로 가져 가고 싶은지 물어보기 위해 모달 대화 상자를 표시해야합니다 독점 시스템. 이를 위해 showModalDialog를 호출하기 위해 클라이언트 측 자바 스크립트를 실행할 수 있어야합니다 (모달 대화 상자로 표시되는이 한 페이지에 자바 애플릿 호출 애플릿을 모두 넣을 수 있기 때문에 showModalDialog를 사용하면 편리합니다).

문제는 현재 우리의 PDF가 우리에게 자바 스크립트를 실행하는 것을 허용하지 않는다는 것을 보여주는 방식입니다. 클라이언트에게 보내지는 것은 모두 한 무리의 pdf 데이터가있는 페이지로 표시되어 있습니다.

지금까지는 src가 PDF 디스플레이 페이지의 URL과 페이지에 필요한 쿼리 문자열에 동적으로 설정된 IFrame (예 : Lucifer의 근본 유출 물)을 트라이드했습니다. 그 의미에서 나는 위대하고 PDF (적어도 뭔가) 페이지의 상단에 아늑한 작은 2 인치에 표시되는 내 모달 대화가있어, 그게 그렇게 좋지는 않았다 : (

또한 object 태그를 사용하여 시도했지만 'runat = server'로 정렬 할 수있는 위치를 알지조차 모릅니다. 클라이언트 쪽에서 Java 스크립트에 필요한 개체 오류가 발생합니다.

그래서 정말로 원하는 것은 표준 aspx 페이지에 배치 할 수있는 일종의 '컨테이너'입니다. 뷰포트에서 전체 높이를 제공하는 다른 페이지를 동적으로 참조하는 데 사용할 수 있습니다 .IFrame은 그 것처럼 보였습니다. 하지만 그들은 조금은 ... 음 ... 똥 같다.

아, 그리고 추측하지 못했을 경우를 대비해서 : 나는 WinForms에있는 웹 개발자로서 경험이 많지 않습니다.

+0

약간의 힌트 : 경우 HTML이 아닌 다른 것을 보내려면 "제네릭 처리기"(.ASHX)를 사용하십시오. 훨씬 쉽게 찾을 수 있습니다. .ASPX 파일은 HTML 전용입니다. 그러나 그것은 당신의 질문에 대답하지 않습니다. – stusmith

답변

0

같은 것을 시도하십시오 :

< 형태 ID = "Form1에"RUNAT = "서버"> < DIV 스타일 = "너비 : 99 %; 높이 : 99 %; 국경 : 1 픽셀의 녹색 고체;" > < iframe id = "frame1"runat = "서버"scrolling = "auto"frameborder = "0" marginheight = "0"marginwidth = "0"src = "Userguide.pdf"style = "height : 99.5 %; 너비 : 99.5 %, 테두리 : 1 픽셀 노란색, " > > </iframe이 > </DIV > </양식 A의 (일이었다 적어도) 나는 큰이었고, PDF가 표시 내 모달 대화 보여주는있어 의미에서 근무 >

1

페이지 상단의 아늑한 작은 2 인치

그런 다음 iframe의 높이를 늘리십시오. 당신은 픽셀 적당한 크기, 또는 사용 CSS를 추측 할 수있는 경우 중 하나를 '높이'속성을 통해, 당신은 페이지 높이에 그것을 내놓고 같은 것을 수행하려는 경우 : 당신 하다니

<iframe src="pdfscript?id=123" style="position: absolute; top: 10%; left: 10%; width: 80%; height: 80%;"></iframe> 

가있는 PDF를 포함 < 개체 태그를 사용하는 웹 페이지는 강력하게 권장하지 않습니다. 최소한 iframe 옵션을 사용하면 PDF 플러그인이 설치되어 있지 않으면 파일로 다운로드하라는 메시지가 표시됩니다. object-version은 깨진 플러그인 아이콘을 제공하고 Acrobat 플러그인을 설치하라는 메시지를 표시합니다.

(그리고 당신은 확실히 하지는 아크로뱃 플러그인 때문에 현재 러시아어 해커에 우리의 데스크탑의 제어를 제공하는 모든 보안 구멍의 설치 덕분에 어도비 싶어..)

관련 문제