【发布时间】:2018-07-23 22:08:32
【问题描述】:
我们正在使用 PDFJS 在 PDF 文件中突出显示/查找文本。这完美无缺。另一个功能是导航到特定页面。我们正在尝试设置 PdfApplicationViewer 的 CurrentPage 属性。但它会引发类似
的错误parentOffset 未设置。无法滚动
已附上下面的js代码。
'use strict';
if (!PDFJS.PDFViewer || !PDFJS.getDocument) {
alert('Please build the pdfjs-dist library using\n' + ' `gulp dist-install`');
}
// The workerSrc property shall be specified.
//
PDFJS.workerSrc = 'lib/pdfviewer/pdf.worker.js';
// Some PDFs need external cmaps.
//
// PDFJS.cMapUrl = '../../node_modules/pdfjs-dist/cmaps/';
// PDFJS.cMapPacked = true;
var DEFAULT_URL = PdfUrl;
var SEARCH_FOR = SearchWord; // try 'Mozilla';
var container = document.getElementById('viewerContainer');
// (Optionally) enable hyperlinks within PDF files.
var pdfLinkService = new PDFJS.PDFLinkService();
var pdfViewer = new PDFJS.PDFViewer({
container: container,
linkService: pdfLinkService,
});
pdfLinkService.setViewer(pdfViewer);
// (Optionally) enable find controller.
var pdfFindController = new PDFJS.PDFFindController({
pdfViewer: pdfViewer
});
pdfViewer.setFindController(pdfFindController);
container.addEventListener('pagesinit', function () {
// We can use pdfViewer now, e.g. let's change default scale.
pdfViewer.currentScaleValue = 'page-width';
if (SEARCH_FOR) { // We can try search for things
pdfFindController.executeCommand('find', {
caseSensitive: false,
findPrevious: undefined,
highlightAll: true,
phraseSearch: true,
query: SEARCH_FOR,
});
}
});
// Loading document.
PDFJS.getDocument(DEFAULT_URL).then(function (pdfDocument) {
// Document loaded, specifying document for the viewer and
// the (optional) linkService.
pdfViewer.setDocument(pdfDocument);
pdfLinkService.setDocument(pdfDocument, null);
PDFViewerApplication.page = parseInt(SearchPageNo);
});
【问题讨论】:
标签: javascript jquery pdf pdfjs