Я показываю pdf-файл с pdf.js в своем приложении Ionic. Я не использую viewer.js и viewer.html, потому что мне нужен совершенно другой макет. Теперь у меня есть настраиваемая панель поиска, и я хочу выделить условия в моем файле pdf. Есть ли функция, которую я могу вызвать для этого?Как искать с pdf.js?
Я рендеринга файл, как это:
$scope.renderPages = function(pdfDoc) {
$scope.pdfFile = pdfDoc;
for(var num = 1; num <= pdfDoc.numPages; num++){
pdfDoc.getPage(num).then($scope.renderPage);
}
}
$scope.renderPage = function(page) {
var viewport = page.getViewport(1);
scale = document.getElementById('viewer').clientWidth/viewport.width;
viewport = page.getViewport(scale);
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
var renderContext = {
canvasContext: ctx,
viewport: viewport
};
canvas.height = viewport.height;
canvas.width = viewport.width;
var canvasContainer = document.getElementById('viewer');
canvasContainer.appendChild(canvas);
page.render(renderContext);
}
HTML:
<div id="viewerContainer" style="padding-bottom: 100%; padding-top: 20px;">
<div id="viewer" class="viewer-styles">
</div>
</div>
Зависит от того, что вы хотите делать с результатами. Если вы просто хотите найти страницу, используйте page.getTextContent(). Но если вы хотите отобразить, проверьте примеры/компоненты и используйте PDFFindController. – async5
Спасибо за ваш ответ! Я попытался понять PDFFindController, но это кажется сложным. К сожалению, я не нашел примера, как его использовать. Знаете ли вы хороший учебник? –
Я не думаю, что вам нужно понять логику. Просто найдите, как он используется в веб-файлах. – async5