Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
  • Sign in
W
webviewer-product
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • story
  • webviewer-product
  • Wiki
  • clientsideDataProvider

clientsideDataProvider

Last edited by story Feb 03, 2021
Page history
This is an old version of this page. You can view the most recent version or browse the history.

개요

  • 웹뷰어는 기본적으로 웹뷰어 WAS 를 통해 PDF 데이터를 전달받으며, 웹뷰어 WAS 는 이를 위해 ContentsProvider 인터페이스를 구현한다.
  • 웹뷰어 클라이언트가 웹뷰어 WAS 가 아닌 3자 서버 또는 임의의 절차를 통해 PDF 데이터를 제공받아 동작하도록 설정하기 위해서는 customLayout 에서 아래와 같은 콜백 인터페이스를 구현해서 등록해야 한다.
  • 필요 상황에 따라 아래 방법1과 방법2 중 택1 할 수 있다.

방법1

  • viewer 호출시에 cdp=true 파라미터를 전달하고, customLayout 에서 다음 콜백 인터페이스를 구현한다.
    • viewer.yex.api.callback.documentDataProvider.promiseTotalLength
      • contentId 에 대응하는 PDF 파일의 사이즈를 리턴하는 Promise 를 리턴한다.
    • viewer.yex.api.callback.documentDataProvider.promiseRangeData
      • 요청된 구간에 대한 데이터를 Uint8Array 로 리턴하는 Promise 를 리턴한다.

샘플

  • http://webviewer.unidocs.co.kr:8888/api_samples/clientsideCustomDataProvider.html?contentId=sample2.pdf
  • 소스보기를 통해 구현 예시를 확인할 수 있다.
    • viewerUrl 에 cdp=true 옵션을 추가하고 있음을 확인할 것.
    • promiseTotalLength 와 promiseRangeData 구현을 확인할 것.

방법2

  • viewer 호출시에 cdp=true 파라미터를 전달하고, customLayout 에서 다음 콜백 인터페이스를 구현한다.
    • viewer.yex.api.callback.onDocumentDataUrl
      • contentId 에 대응하는 PDF 파일의 URL 을 리턴한다.

샘플

  • http://webviewer.unidocs.co.kr:8888/api_samples/clientsideDataProvider.html?contentId=sample2.pdf
  • 소스보기를 통해 구현 예시를 확인할 수 있다.
    • viewerUrl 에 cdp=true 옵션을 추가하고 있음을 확인할 것.
    • onDocumentUrl 구현을 확인할 것.

PDF URL 을 제공하는 CDN 서버 요구사양

  • CDN은 아래의 기능을 자체적으로 지원해야 한다.

스트리밍을 위한 range request 처리 지원

  • range request 에 대해 올바로 동작해야 한다.
  • https://developer.mozilla.org/ko/docs/Web/HTTP/Range_requests

LIMITATION (제한사항)

  • 하나의 PDF 파일로 이루어진 콘텐츠만을 처리하며, 그 이외의 케이스에 대응하지 않는다.
Clone repository
  • clientsideDataProvider
  • Home
  • ucim 문서에 대한 워터마크 지정
  • 서식처리기능
  • 웹뷰어에서 지원되는 파일 형식
  • 전송구간 암호화 지원
  • 전자인장