2014-01-22 1 views
2

웹 서버에 400MB PDF가 있다고 가정 해 봅시다. ipad 사용자가 열어서 가능한 빨리 열어 볼 수 있기를 바랍니다. 파일을 전체적으로 먼저 다운로드하지 않아도됩니다. 옵션은 무엇입니까?ipad에서 큰 PDF 파일을 먼저 다운로드하지 않고 열기

  • 사파리는 이와 같이 대형 PDF를 스트리밍 할 수 있습니까? 파일을 다운로드하는 동안 첫 페이지를 보여줄 수 있습니까?

  • 이렇게하려면 기본 앱을 만드는 방법이 있습니까? 그렇다면 PDF가 서버에서 처음 "spitted"되어야합니까? 방법?

대용량 PDF를 여는 방법에 대한 유용한 정보는 매우 유용 할 것입니다. PDF 색인에 액세스 할 수 있으면 보너스 포인트!

+1

이것은 바보처럼 들릴지 모르겠지만 서버에서 pdf를 별도의 pdf 페이지로 분할 한 다음 프런트 엔드에서 한 번에 하나씩 다운로드 할 수 있습니다. 먼저 얼마나 많은 페이지가 있는지 다운로드 한 다음 다운로드하십시오. 첫 번째는 두 번째 다운로드가 끝나면 프런트 엔드에 첫 번째 페이지가 표시되고 몇 초마다 사용자가 새 페이지를 볼 수 있습니다. –

+4

'* 선형화 된 *'또는 '* 빠른 웹보기에 최적화 된 *'- PDF가 이러한 이유 때문에 정확하게 도입되었습니다. - 파일이 여전히 다운로드되는 동안 첫 페이지를 표시하기 위해 Adobe 소프트웨어 (리더 및 브라우저 플러그인)는이 기능을 이용합니다. – user2846289

+0

도와 주셔서 감사합니다. 그러나 각 솔루션에 대한 자세한 정보를 제공 할 수 있습니까? 예를 들어 페이지별로 PDF 파일을 자동으로 분할하고 특정 페이지 (5000 페이지라고 가정 해 봅시다)를 타겟팅 할 수 있도록 사용자에게 내용 표를 표시하는 방법은 무엇입니까? 선형화 된 PDF의 경우 기능을 지원하는 ipad에 클라이언트가 나열된 설명서가 있습니까?ipad에 대한 Adobe Reader가 ipad 1에서 실행되지 않는다는 것을 알았습니다. 대안이 있습니까? 또한 파일 다운로드가 시작되는 즉시 TOC에 액세스 할 수 있습니까? – electrotype

답변

1

일을 지우려면 : 페이지를 표시하기 위해 필요한 모든 데이터가 다른 사람의 앞에되도록

  • 선형화 PDF는 순서가 객체의 순서를 가지고있다. 선형화 PDF를 지원하는 경우 당신은 발견되지 않은 응용 프로그램에서

, 내 관점에서 가장 좋은 솔루션은 서버 측에서 렌더링 페이지 당신은 부속서 F에 (페이지 683) PDF specification에서 자세한 내용을 읽을 수있는 것 목차가있는 단일 페이지 만 전송하도록 사용자 지정 프로토콜을 만들 수 있습니다.

당신은 선형화 PDF로 사용자 정의 PDF 뷰어를 만들려하지 않는 한, 당신은 단지 빨리 목차를 표시하고 정확한 페이지 번호를 서버에 요청할 수있는 작은 휴대용 "페이지 뷰어"를 만들 수 있습니다.

예 서버 인터페이스 :이를 위해

class Pages 
{ 
    string title; 
    int number; 
} 

Stream GetDocumentPage(Page n); 
List<Page> GetDocumentPages(); 

, 하나는 pdf 파일을 구문 분석하고 필요한 페이지를 렌더링 (예 : Ghostscript 등) 오픈 소스 솔루션을 사용할 수 있습니다. 그런 다음 작은 휴대용 "페이지 뷰어"에 맞춤 프로토콜 및 표시 페이지에서 이진 데이터를 보냅니다.

이 솔루션은 중요한 네트워크 트래픽을 유발할 수 있으므로 전체 문서를 다운로드 할 필요가 없습니다.

희망이 도움이됩니다.

관련 문제