We are using PDF.js Express (8.2.0) and we have enabled the download feature using instance.enableFeatures([instance.Feature.Download]);.
When attempting to download a shown PDF, the viewer just spins and never outputs the file to the browser.
The console of the browser shows the following error:
Uncaught (in promise) Error: exportAnnotations: Annotations are not available in the free viewer build of PDF.js Express. For full annotation support, please use the full version of PDF.js Express.
at Object.get (webviewer-core.min.js:400:106)
at Object.exportAnnotations (webviewer-ui.min.js:68:110709)
at webviewer-ui.min.js:68:285202
at s (webviewer-ui.min.js:26:126874)
at Generator._invoke (webviewer-ui.min.js:26:126627)
at Generator.next (webviewer-ui.min.js:26:127237)
at Qd (webviewer-ui.min.js:68:284271)
at i (webviewer-ui.min.js:68:286385)
at webviewer-ui.min.js:68:286446
at new Promise ()
PDF.js Express Viewer does not currently support downloading the document, however this should be pretty easy to implement yourself. We like using this package here!
So its super frustrating to learn that this feature doesn’t work as advertised after spending time on development to put it in our product. That’s kind of a key feature and painful to build separately.
Can you please clarify that your website is inaccurate/misleading OR that this feature is actually supported (and if so, how)?
That item on the feature chart does not say we can print, it says you can hide/show tools via API - however I do understand the confusion here (using “print” is probably a bad example).
That being said, I’ll make some changes that will allow us to support printing. I’ll have it ready in the next release.
Logan - its downloading, not printing. The printing function already works. This thread is about the download function. In that table, there is no other row about downloading to indicate express viewer doesn’t download. The only row about downloading is that row.
I think its pretty fair to therefore assume that if I can ‘hide/show’ the ‘download’ button, that the viewer supports downloading. Why would I want to show a tool which doesn’t work?
Your documentation doesn’t explicitly state downloading is not supported by the viewer. Its only when you finally get to that point and realise that the download function also merges annotations, which aren’t supported by the viewer, that you realise the viewer cant download at all. Its super frustrating.
Sorry - I meant downloading, not printing. I already have a fix in code review so we’ll have this out soon.
The reason you are able to enable features that we don’t support is quite complex, but it has to do with our code infrastructure and how we share code and APIs with other similar products (PDF.js Express Plus and PDFTron WebViewer). I understand this can be frustrating, but that is why we allow an unlimited free trial to try out the features you need (also keep in mind the product is free). We also provide super easy upgrade paths to enable features that you need (the APIs between all products is the exact same).