2.0.1 • Published 4 years ago

web-pdf-viewer v2.0.1

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

pdf-viewer

npm pdf.js browsers

PDF viewer for web base on pdf.js.

Usage

Step1

Copy node_modules/web-pdf-viewer/cmaps to public directory

Step2
import PDFViewer from 'web-pdf-viewer';

const pv = new PDFViewer({
  cmaps: {url from step1}
});
pv.addEventListener('load', (e) => {...});
pv.destroy();

PDFViewer Option

propertytyperequireddescription
containerHTMLElementNContainer
urlstringNpdf file url
dataTypedArray,Array,StringNpdf binary data
fileFileNLocal file
gapnumberNGap between container and content
cmapsstringNChars url
isRenderTextbooleanNRender text layer
containerBackgroundstringNContainer background
borderStylestringNBorder style. '1px solid red'
logTitlestringNLog title for different files
pdfjsParamsObjectNSame as parameter of pdfjsLib.getDocument

Method

  • PDFViewer.prototype.addEventListener(eventName: string, handler: Function)Add event listener
  • PDFViewer.prototype.removeEventListener(eventName: string, handler: Function)Remove event listener.
  • PDFViewer.prototype.getPDFInfo(): ObjectPDF infomation
  • PDFViewer.prototype.scrollTo(page: number, pageTop: number, cb?: Function)Scroll
  • PDFViewer.prototype.highlight({page: number, x: number, y: number, w: number, h: number, highlightClass?: string', attrs: {[key: string]: string}}): StringSet highlight
  • PDFViewer.prototype.removeHighlight(page: number, id: String)Delete highlight. Delete all while id is not passed
  • PDFViewer.prototype.highlightFocus(page: number, id: string, highlightFocusClass?: string')Focus on highlight area
  • PDFViewer.prototype.highlightBlur(page, id)Highlight area blur
  • PDFViewer.prototype.renderPage(page: number, width: number, cb: (canvas) => {}, devicePixelCompatible = true)Render one page
  • PDFViewer.prototype.resize(width?: number)Resize page width.
  • PDFViewer.prototype.destroy()Destroy instance

Event

online - Rendered on page offline - Rendered offline both - Both online and offline

  • loadPDFViewer is ready (both)
class PVLoadEvent {
    pv: PDFViewer;
}
  • pagechangePage changed (online)
class PVPageChangeEvent {
    pv: PDFViewer;
    page: number;
    totalPages: number;
}
  • highlightclickClick highlight area (online)
type highlightList = Array<{page: number, id: Symbol}>;

class PVHighlightClickEvent {
    pv: PDFViewer;
    highlights: highlightList;

    stopPropagation() {}
}
  • pageresizePage size changed (online)
type pageSizes = {
    [prop: number]: {
        w: number
        h: number
    }
};

class PVPageResizeEvent {
    pv: PDFViewer;
    pageSizes: pageSizes;
}
  • scrollScroll event (online)
class PVScrollEvent {
    pv: PDFViewer;
    scrollTop: number;
    scrollLeft: number;
}

Changelog

changelog

2.1.2

3 years ago

2.1.1

3 years ago

2.1.0

3 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.3.0

4 years ago

1.2.0

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.9

4 years ago