Creates IPDFTextLayerFactory interface
This commit is contained in:
parent
f68678086d
commit
7663942ee5
@ -83,3 +83,17 @@ ILastScrollSource.prototype = {
|
||||
*/
|
||||
get lastScroll() {},
|
||||
};
|
||||
|
||||
/**
|
||||
* @interface
|
||||
*/
|
||||
function IPDFTextLayerFactory() {}
|
||||
IPDFTextLayerFactory.prototype = {
|
||||
/**
|
||||
* @param {HTMLDivElement} textLayerDiv
|
||||
* @param {number} pageIndex
|
||||
* @param {PageViewport} viewport
|
||||
* @returns {TextLayerBuilder}
|
||||
*/
|
||||
createTextLayerBuilder: function (textLayerDiv, pageIndex, viewport) {}
|
||||
};
|
||||
|
@ -29,7 +29,7 @@
|
||||
* @property {PDFRenderingQueue} renderingQueue - The rendering queue object.
|
||||
* @property {Cache} cache - The page cache.
|
||||
* @property {PDFPageSource} pageSource
|
||||
* @property {PDFViewer} viewer
|
||||
* @property {IPDFTextLayerFactory} textLayerFactory
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -50,7 +50,7 @@ var PDFPageView = (function PDFPageViewClosure() {
|
||||
var renderingQueue = options.renderingQueue;
|
||||
var cache = options.cache;
|
||||
var pageSource = options.pageSource;
|
||||
var viewer = options.viewer;
|
||||
var textLayerFactory = options.textLayerFactory;
|
||||
|
||||
this.id = id;
|
||||
this.renderingId = 'page' + id;
|
||||
@ -65,7 +65,7 @@ var PDFPageView = (function PDFPageViewClosure() {
|
||||
this.renderingQueue = renderingQueue;
|
||||
this.cache = cache;
|
||||
this.pageSource = pageSource;
|
||||
this.viewer = viewer;
|
||||
this.textLayerFactory = textLayerFactory;
|
||||
|
||||
this.renderingState = RenderingStates.INITIAL;
|
||||
this.resume = null;
|
||||
@ -454,7 +454,7 @@ var PDFPageView = (function PDFPageViewClosure() {
|
||||
|
||||
var textLayerDiv = null;
|
||||
var textLayer = null;
|
||||
if (!PDFJS.disableTextLayer) {
|
||||
if (this.textLayerFactory) {
|
||||
textLayerDiv = document.createElement('div');
|
||||
textLayerDiv.className = 'textLayer';
|
||||
textLayerDiv.style.width = canvas.style.width;
|
||||
@ -466,9 +466,9 @@ var PDFPageView = (function PDFPageViewClosure() {
|
||||
div.appendChild(textLayerDiv);
|
||||
}
|
||||
|
||||
textLayer = this.viewer.createTextLayerBuilder(textLayerDiv,
|
||||
this.id - 1,
|
||||
this.viewport);
|
||||
textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv,
|
||||
this.id - 1,
|
||||
this.viewport);
|
||||
}
|
||||
this.textLayer = textLayer;
|
||||
|
||||
|
@ -236,6 +236,10 @@ var PDFViewer = (function pdfViewer() {
|
||||
var viewport = pdfPage.getViewport(scale * CSS_UNITS);
|
||||
for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {
|
||||
var pageSource = new PDFPageSource(pdfDocument, pageNum);
|
||||
var textLayerFactory = null;
|
||||
if (!PDFJS.disableTextLayer) {
|
||||
textLayerFactory = this;
|
||||
}
|
||||
var pageView = new PDFPageView({
|
||||
container: this.viewer,
|
||||
id: pageNum,
|
||||
@ -245,7 +249,7 @@ var PDFViewer = (function pdfViewer() {
|
||||
renderingQueue: this.renderingQueue,
|
||||
cache: this.cache,
|
||||
pageSource: pageSource,
|
||||
viewer: this
|
||||
textLayerFactory: textLayerFactory
|
||||
});
|
||||
bindOnAfterDraw(pageView);
|
||||
this.pages.push(pageView);
|
||||
@ -629,9 +633,9 @@ var PDFViewer = (function pdfViewer() {
|
||||
},
|
||||
|
||||
/**
|
||||
* @param textLayerDiv {HTMLDivElement}
|
||||
* @param pageIndex {number}
|
||||
* @param viewport {PageViewport}
|
||||
* @param {HTMLDivElement} textLayerDiv
|
||||
* @param {number} pageIndex
|
||||
* @param {PageViewport} viewport
|
||||
* @returns {TextLayerBuilder}
|
||||
*/
|
||||
createTextLayerBuilder: function (textLayerDiv, pageIndex, viewport) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user