Hi,
currently i found an workaround for the request but a native support would by cool. Token in url is no alternative
Workaround:
axios({
url: `${config.apiUrl}/Page/pdf/` + id,
method: 'GET',
responseType: 'blob',
headers : {
"Authorization": authHeader().Authorization
}
}).then((response) =>{
var fileReader = new FileReader();
fileReader.readAsDataURL(response.data);
fileReader.onload = function(e){
var pdfViewer = $("#documentViewer").data("kendoPDFViewer");
if(!pdfViewer){
pdfViewer = $("#documentViewer").kendoPDFViewer({
pdfjsProcessing: {
file: {
data: e.target.result.split(",")[1]
}
},
width: "100%",
}).data("kendoPDFViewer");
}else{
console.log("fromFile function");
// pdfViewer.fromFile(`${config.apiUrl}/Page/pdf/` + id);
pdfViewer.zoomScale = pdfViewer.options.scale || 1.25;
pdfViewer.trigger("update", { action: "zoom", zoom: pdfViewer.options.scale || "auto" });
pdfViewer.options.pdfjsProcessing.file.data = e.target.result.split(",")[1];
pdfViewer._loadDocument();
}
}
})
Added by admin:
The request is a valid one but it should be extended outside the context of Axios. It will be a good feature to introduce a general approach for fetching a file dynamically - jQuery, Axios, etc.
Currently it is not possible to bind the PDFViewer to a file from the view model:
<div data-role="pdfviewer"
data-pdfjs-processing-file="{file: fileToLoad}"
data-width="100%"
data-height="700"
data-bind="events: { source: }">
</div>
<script>
var viewModel = kendo.observable({
fileToLoad: "https://demos.telerik.com/kendo-ui/content/web/pdfViewer/sample.pdf"
}
</script>
Hi,
Is a thumbnail/page viewer in discussion? It would be a real advantage to be able to see thumbs of pages alongside the page viewer.
An example using a different sdk is shown below.
URL:
http://atalasoft-viewer-demo.azurewebsites.net/
Regards,
Graham O'Riley
Netdocs
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.