2010-11-19 2 views
4

우리의 응용 프로그램에는 동적으로 생성 된 PDF 문서에 대한 링크가 있습니다. 링크는 다음과 같이 보입니다. host/22-5/file_3136.pdf 브라우저에 정적 PDF 문서처럼 보입니다. 링크를 클릭하면 새 창이 열립니다. 그 창은 같은 헤더와 함께 PDF 문서 전용 (HTML)를 수신 :PDF 문서보다 먼저 로딩 화면을 표시하는 방법

우리는 사용자가 PDF 플러그인이 설치되어있는 경우 브라우저에서 PDF를 볼 수 있도록하고 올바른으로 문서를 저장할 수있게하려면
Content-Disposition: inline; filename=file_3136.pdf 
Content-Type: application/pdf 

파일 이름.

이제 PDF가 생성되는 동안 표시되는로드 스크린을 추가하려고합니다. 현재 기능을 유지하면서 가장 좋은 방법입니다.

로드 생성 화면을 표시 한 다음 생성이 완료되면 PDF로 리디렉션하는 옵션이 있습니다. 이렇게하면 당분간 서버에 PDF를 보관해야합니다. 현재 응답이 전송되는 즉시 삭제됩니다.

다른 옵션은 서버의 PDF를 가리키는 <embed>, 또는 <object> 태그와 함께 일부 HTML 및 자바 스크립트 (로드 페이지 표시)를 보내는 것입니다.

가장 좋은 접근 방법은 무엇입니까? 대부분의 브라우저에서는 어떻게 작동합니까?

답변

0

다운로드 사이트에서 자주 (작은) 창 팝업이 나타납니다. 그 창은 "안무가"로서 메인 페이지에 표시되는 내용을 제어하는 ​​동시에 다운로드 파일로 리디렉션되는 것을 제어한다고 생각합니다.

+0

으로 작성했습니다.이 방법은 실제로 이해할 수 없습니다. 게다가 이미 PDF를 표시 할 새 창이 열립니다. 그 창은 "안무"를 할 수 없습니까? –

0

HTML 리디렉션. 몇 초마다 "자체적으로"리디렉션되는 페이지를 만듭니다. PDF가 완료되면 대신 PDF로 리디렉션을 생성합니다.

+0

사람들이 실제로 이렇게합니까? PDF가 준비되면 간단한 AJAX 요청 대신 루프를 리디렉션하십시오. –

+0

네, 그것은 여분의 트래픽을 소비하면서 서버에 모든 두뇌를 집어 넣습니다. 나는 그것을 한 번도 해 본 적이 없지만, 나는 이런 식으로 할 필요가 전혀 없다. –

0

PDF 파일을 실제로 미리로드하여 즉석로드의 인상을줍니다.

<img id="pdfLoader" src="preloader.jpg"/> 

당신은 ajaxload.info

<script language="javascript" type="text/javascript"> 
//<![CDATA[ 
<!-- 
var pdfLoader = document.getElementById("pdfLoader"); 
pdfLoader.src = "http://mysite.com/mypdf.pdf"; 
//--> 
//]]> 
</script> 

에서 프리 로더 이미지를 얻을 수 위의 코드는 사이와에 대한 링크를 포함하는 페이지에 배치 : 이전에 PDF 링크 된 페이지의 페이지에 프리로드 스크립트를 추가 .pdf 파일 (또는 .pdf가있는 html 파일)은 브라우저가 pdf 파일을 브라우저 캐시로 다운로드하도록 지시하지만 그대로 두십시오. (filetype은 irelevant image()가 편리합니다. 모든 파일 유형에 동일한 스크립트를 사용합니다. 렌더링되지 않을 것이므로) 페이지가 완전히 렌더링 된 후에 다운로드가 수행되므로 현재 페이지가 지연되지 않습니다. .pdf 파일 (또는 html 페이지)에 대한 링크를 클릭하면 브라우저는 브라우저 캐시에서 .pdf를 찾아 다운로드하지 않지만 캐시에서 표시합니다. 당신은 또한 매우 빠르게 첫 페이지를 표시 할 수있는 PDF를 선형화 경우 자바 스크립트 비활성화와 브라우저에서

는 기능이 정상적으로

+0

아마도 나에게는 영리하지만 절대적으로 실현 불가능합니다. 한 페이지에 수많은 PDF 링크가 있습니다. 모든 고객을 위해 모두 미리 생성하면 아마 내 서버가 죽을 것입니다. –

0
+0

좋은 제안이 될 것입니다. 우리는 FOP를 사용하고 있습니다. FOP로 선형화 된 PDF를 생성 할 수 있습니까? –

+0

FOP는 선형화 된 PDF를 생성하지 않습니다. PDFLeo (http://www.rockpdf.com)와 같은 도구를 사용하여 PDF 파일을 선형화하여 빠르게로드 할 수 있습니다. – cuteCAT

관련 문제