PDF.js
Original author(s) | Andreas Gal |
---|---|
Developer(s) | Mozilla |
Initial release | 2 July 2011[1] |
Stable release | 2.10.377
/ 25 July 2021[1] |
Preview release | 2.11.338
/ 24 January 2021[1] |
Repository | |
Written in | JavaScript, CSS, HTML |
Platform | JavaScript engine, web browser |
Size | 3.94 MB[1] |
Type | PDF viewer |
License | Apache License 2.0[2] |
Website | mozilla |
PDF.js or pdf.js is a JavaScript library that renders Portable Document Format (PDF) files using the web standards-compliant HTML5 Canvas. The project is led by the Mozilla Foundation after Andreas Gal launched it (initially as an experiment) in 2011.
History and Application[]
PDF.js can work as a part of a website or of a browser. Originally created as a Firefox extension,[3] it is included in Mozilla Firefox since 2012 (version 15)[4][5] and is enabled by default since 2013 (version 19).[6][7] It is also included in ownCloud,[8] Nextcloud,[9][10] and as a browser extension for Google Chrome, Chromium,[11] Firefox for Android,[12] Pale Moon[13][14] and SeaMonkey.[14][15]
Developers will also embed PDF.js in their software in order to enable PDF rendering and viewing in a web or native application, or rendering on a server. Examples of PDF.js integrations include within Dropbox (service) for PDF document previews,[16] Slack (software),[17] and Linkedin for viewing accessible course materials online.[18] Some software development products are also based on making it easier to extend PDF.js.[19][20]
Behavior[]
According to one benchmark, PDF.js is performant for viewing most common PDF files, while it may have some issues with large or 'graphics-heavy' documents.[21] Another analysis found that between 1-3% of PDFs in certain document subsets would crash or freeze the PDF.js viewer, either due to a corrupted file or a complex file.[22]
PDF.js supports most of the PDF specification, but some features have not been implemented yet, which may impact rendering behavior depending on the features the document uses.[23]
PDF features not yet added to PDF.js or incomplete:
- Optional Content Groups (OCGs)
- ICC Color Profiles
- Spot colors
- Overprint simulation
- Transparency groups (knockout/isolation)
- Some patterns & shadings
- High-fidelity printing
The PDF.js contributor community also notes that the browser behavior of PDF.js varies with browser support for PDF.js's required features.[24] Performance and reliability will be the best on Chrome and Firefox, which are fully supported and subject to automated testing.
See also[]
References[]
- ^ a b c d "Releases · mozilla/pdf.js". GitHub. Retrieved 12 March 2021.
- ^ "pdf.js/LICENSE at master · mozilla/pdf.js". GitHub.
- ^ "PDF Viewer(discontinued)". addons.mozilla.org. Archived from the original on 5 December 2015. Retrieved 2 December 2015.
- ^ Parfeni, Lucian (30 April 2012). "PDF.JS and Download Manager Panel Pushed to Firefox 15". Softpedia. SoftNews.
- ^ Blagoveschenskiy, Anton (29 August 2012). "Вышла новая версия браузера Firefox 15" [New version 15 of the Firefox browser released]. Rossiyskaya Gazeta (in Russian). Retrieved 9 September 2012.
- ^ "Bug 773397 – Disable pdf.js prior to FF15 beta 5". bugzilla.mozilla.org.
- ^ "Firefox 19.0 Release Notes". mozilla.org. Retrieved 30 April 2013.
- ^ owncloud/files_pdfviewer, ownCloud, 8 February 2020, retrieved 28 March 2020
- ^ nextcloud/files_pdfviewer, Nextcloud, 18 March 2020, retrieved 28 March 2020
- ^ "PDF viewer - Apps - App Store - Nextcloud". apps.nextcloud.com. Retrieved 28 March 2020.
- ^ "PDF Viewer". Chrome Web Store.
- ^ "Android PDF.js". addons.mozilla.org.
- ^ "Add-ons - Moon PDF Viewer". Pale Moon - Add-ons. Archived from the original on 3 January 2020. Retrieved 4 May 2021.
- ^ a b "IsaacSchemm/pdf.js-seamonkey: SeaMonkey fork of pdf.js". GitHub. Archived from the original on 6 December 2020. Retrieved 4 May 2021.
- ^ "PDF Viewer for SeaMonkey". Add-ons for SeaMonkey.
- ^ Lauraharrisneal. "Annotations on Document Previews". dropbox.tech. Retrieved 5 August 2021.
- ^ "What matters to you, matters to us. - Slack Engineering". Slack Engineering. 16 November 2016. Retrieved 5 August 2021.
- ^ "Under the hood: Learning with documents". engineering.linkedin.com. Retrieved 5 August 2021.
- ^ "Show HN: Pdf.js Express – PDF annotation, e-signatures, and form filling | Hacker News". news.ycombinator.com. Retrieved 5 August 2021.
- ^ "Introducing PDF.js Express". pdfjs.express. Retrieved 5 August 2021.
- ^ https://hacks.mozilla.org/2014/05/how-fast-is-pdf-js/
- ^ "Benchmark: How Reliable is PDF.js?". PDFTron. Retrieved 5 August 2021.
- ^ "Guide to Evaluating PDF.js Rendering". PDFTron. Retrieved 5 August 2021.
- ^ "Frequently Asked Questions · mozilla/pdf.js Wiki". GitHub. Retrieved 5 August 2021.
External links[]
- Official website
- "View PDF files in Firefox". Firefox Help. Mozilla.
- Chris Jones and Andreas Gal (and the pdf.js team) (15 June 2011). "pdf.js: Rendering PDF with HTML5 and JavaScript". Andreas Gal's blog.CS1 maint: uses authors parameter (link)
- Catalin Cimpanu (3 May 2012). "Script of the Day: pdf.js". Softpedia.
- Cross-platform free software
- Firefox
- Firefox add-ons
- Free PDF readers
- Free web software
- JavaScript libraries
- Free software stubs