5 ms·
TL:DR; They have written a PS & PDF renderer that runs completely in the client, by using web-assembly. They show the performance to be not so far off using nat
by flavio81 9y ago
TL:DR; They have written a PS & PDF renderer that runs completely in the client, by using web-assembly. They show the performance to be not so far off using native code, and this allows offloading the CPU load of PDF rendering to the client rather than the server.
Excellent !!
- jamesXswift 9y agoIf anyone has any questions I'll try and answer if I can.
- greenhouse_gas 9y agoDid you show it to Mozilla or Google? It seems that it can replace PDF.JS and whatever closed-source PDF reader chrome uses.
- moosingin3space 9y agoChrome's PDF reader is actually open-source: https://pdfium.googlesource.com/pdfium/ https://pdfium.googlesource.com/pdfium/
- greenhouse_gas 9y agoSorry. I'm out of date https://bugs.chromium.org/p/chromium/issues/detail?id=50852#c16 https://bugs.chromium.org/p/chromium/issues/detail?id=50852#...
- mpweiher 9y agoAnd as far as I know it's the engine they're using.
- deleted 9y ago[deleted]
- mpweiher 9y agoCorrection: last I checked, they didn't write the PDF renderer themselves, it is Google's PDFium[1] which was open-sourced a while ago. Before they were using Apple's built in PDF engine, but apparently that had too many bugs for them. It does not do Postscript, the "PS" in PSPDFKit are the initials of the creator, Peter Steinberger (really nice guy, by the way!). Two/three letter prefixes are common in Objective-C as there are no namespaces (I use MPW). [1] https://pdfium.googlesource.com https://pdfium.googlesource.com
- flavio81 9y agoThanks, i thought PS stood for "postscript"!
- favorited 9y agoBased on Peter's blog post[0] a few years ago, I was under the impression they wrote their own. Maybe steipete can chime in? [0]https://pspdfkit.com/blog/2016/a-pragmatic-approach-to-cross-platform/ https://pspdfkit.com/blog/2016/a-pragmatic-approach-to-cross...
- mpweiher 9y agoHmmm...don't remember where I got that information from, so I could well be remembering wrong. I do see that pspdfkit folk are active in the pdfium bug tracker, for example: https://bugs.chromium.org/p/pdfium/issues/detail?id=641 https://bugs.chromium.org/p/pdfium/issues/detail?id=641 That sounds like a production problem, but it could just as well be them trying it out.
- eridius 9y agoIt's certainly quite plausible that they compare their behavior with other engines, and then file bugs on those other engines if they find them.
- robocop2018 9y agompweiher, you are correct! PSPDF is a pdfium lipstick. You can find its license in binary sdk-s or simply ask them. Included or derived work must be disclosed! Also using the pdfium via Enscripten is not news (https://github.com/coolwanglu/PDFium.js https://github.com/coolwanglu/PDFium.js is 3 years old). On commercial, battle tested side PDFTron offers PDFNetJS & WebViewer for years https://blog.pdftron.com/2015/11/10/pdfnetjs-html5-pdf-viewer-and-editor/ https://blog.pdftron.com/2015/11/10/pdfnetjs-html5-pdf-viewe... (http://xodo.com/app http://xodo.com/app is the demo referenced in the presentation).
- deleted 9y ago[deleted]
- agumonkey 9y agoMy latest laptop is from 2009 and I very very very rarely complain about pdf.js performance.