Rendering PDF Documents
PSPDFKit renders documents pixel-perfect. We use a custom C++ - based renderer that is shared across all platforms we use. This guarantees the broadest test coverage and allows us to focus on a highly tuned codebase for all supported platforms. If you have a document that renders incorrectly or different than with Adobe Acrobat, please report a bug.
To learn about our render API, see the Rendering and Caching article
The Complexities of Rendering PDF
Next to the official specification, there's also "real world" PDF which often has bugs based on misunderstandings or bugs in creation software that need specific workarounds and hacks. Adobe Acrobat is very forgiving in terms of invalid references, duplicate entries, typos and allows various drawing command variations that are nowhere documented - these are things that have to be found out via trial and error and also add to the complexity of a rendering engine. Our code around this engine is mostly written in modern C++, however the code base has to deal with many variants and edge cases so the code is quite large and complex - resulting in a noticeable binary footprint.