PDF viewer for web base on pdf.js.
Copy node_modules/web-pdf-viewer/cmaps
to public directory
import PDFViewer from 'web-pdf-viewer';
const pv = new PDFViewer({
cmaps: {url from step1}
});
pv.addEventListener('load', (e) => {...});
pv.destroy();
property | type | required | description |
---|---|---|---|
container | HTMLElement | N | Container |
url | string | N | pdf file url |
data | TypedArray,Array,String | N | pdf binary data |
file | File | N | Local file |
gap | number | N | Gap between container and content |
cmaps | string | N | Chars url |
isRenderText | boolean | N | Render text layer |
containerBackground | string | N | Container background |
borderStyle | string | N | Border style. '1px solid red' |
logTitle | string | N | Log title for different files |
pdfjsParams | Object | N | Same as parameter of pdfjsLib.getDocument |
PDFViewer.prototype.addEventListener(eventName: string, handler: Function)
Add event listenerPDFViewer.prototype.removeEventListener(eventName: string, handler: Function)
Remove event listener.PDFViewer.prototype.getPDFInfo(): Object
PDF infomationPDFViewer.prototype.scrollTo(page: number, pageTop: number, cb?: Function)
ScrollPDFViewer.prototype.highlight({page: number, x: number, y: number, w: number, h: number, highlightClass?: string', attrs: {[key: string]: string}}): String
Set highlightPDFViewer.prototype.removeHighlight(page: number, id: String)
Delete highlight. Delete all while id is not passedPDFViewer.prototype.highlightFocus(page: number, id: string, highlightFocusClass?: string')
Focus on highlight areaPDFViewer.prototype.highlightBlur(page, id)
Highlight area blurPDFViewer.prototype.renderPage(page: number, width: number, cb: (canvas) => {}, devicePixelCompatible = true)
Render one pagePDFViewer.prototype.resize(width?: number)
Resize page width.PDFViewer.prototype.destroy()
Destroy instance
online - Rendered on page
offline - Rendered offline
both - Both online and offline
load
PDFViewer is ready (both)
class PVLoadEvent {
pv: PDFViewer;
}
pagechange
Page changed (online)
class PVPageChangeEvent {
pv: PDFViewer;
page: number;
totalPages: number;
}
highlightclick
Click highlight area (online)
type highlightList = Array<{page: number, id: Symbol}>;
class PVHighlightClickEvent {
pv: PDFViewer;
highlights: highlightList;
stopPropagation() {}
}
pageresize
Page size changed (online)
type pageSizes = {
[prop: number]: {
w: number
h: number
}
};
class PVPageResizeEvent {
pv: PDFViewer;
pageSizes: pageSizes;
}
scroll
Scroll event (online)
class PVScrollEvent {
pv: PDFViewer;
scrollTop: number;
scrollLeft: number;
}