Both Chrome and Firefox now have native PDF viewer support including the ability to display and navigate bookmarks within the document. Kendo’s control doesn’t have this functionality, but it’s possible to implement since PDF.js does and the Kendo control supports PDF.js rendering.
We’d really like to have a common UI for viewing documents within our web application, but we’re currently forced to render PDFs natively for Chrome and Firefox and with limited bookmark functionality for Internet Explorer by way of partial bookmark functionality we’ve implemented on top of the Kendo control.
Allow bookmarks to be set in the PDFViewer’s configuration during initialization, and then add a method to allow them to be scrolled-to by id. The bookmarks would simply be y-coordinate/page number pairs. It’d also be nice if the viewer could read the bookmarks directly, but not entirely necessary with PDF.js rendering since they can be read from PDF.js
Ideally, you could also expose the raw PDF.js document object used by the PDFViewer so that it could be used instead.
The download functionality of the PDFViewer component doesn't work on Apple mobile devices both on Chrome and Safari browsers.
*Note: The above behavior is not represented on Android devices.
Nothing happens when the Download icon is tapped. After this tapping part of the other component functionalities like "open" and "search" stop working.
When the download icon is tapped a "save file" popup should appear and the user can save the currently viewed PDF file.
When jQuery 3.4.1 is used paging through PDF file content results in wrong scroll position and no content in PDFViewer
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,user-scalable=1,initial-scale=1.0" />
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.3.917/styles/kendo.common.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.3.917/styles/kendo.rtl.min.css">
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.3.917/styles/kendo.default.min.css">
<!-- <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> -->
<!-- <script src="https://code.jquery.com/jquery-2.2.4.min.js"></script> -->
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2019.3.917/js/kendo.all.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.2.2/pdf.js"></script>
<script>
window.pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.2.2/pdf.worker.js';
</script>
</head>
<body">
<div id="pdf-viewer"></div>
<script>
(function () {
var viewer = $("#pdf-viewer").kendoPDFViewer({
pdfjsProcessing: {
file: "./Export_numbered.pdf"
}
}).getKendoPDFViewer();
})();
</script>
</body>
</html>
Use the following sample PDF - Export_numbered.pdf
Click on Next page button once again
Pager shows page 5, but there is no content displayed. Scrolling over the PDFViewer scrolls and displays the content.
Pager shows page 5 and page 5 is visible on the top of the PDFViewer.
Reproducible when the jQuery version in the setup is changed to 1.12.4 or 2.2.4.
Pager shows page 3, but there is no content displayed. Scrolling over the PDFViewer scrolls and displays the content.
Pager shows page 3 and page 3 is visible on the top of the PDFViewer.
Reproducible when the jQuery version in the setup is changed to 1.12.4 or 2.2.4.