Web-To-Print solutions: Fast Parallel PDF Image Rendering

Fast PDF to PNG RenderingManaged and unmanaged code.
Adventures into generating bitmap images of PDF documents without using Adobe® products or libraries. The reason was simple, Adobe does not allow anyone to automate against their desktop products and if you do then you need to use 'clipboard' to get bitmap data (very 1980's). It was also an internal experimental task, requiring it to be simple and effective in favour of accuracy and speed. GhostScript came to mind, but was big and unstable in a server environment and with a STA (Single Threading) model was not suitable in a dynamically scalable environment.

Being put to the test as it's been a while since programming in C++, the pain of 'off the cuff' programming and associated memory leaks soon get the better of me and decided to use the complete array of languages where it suited best. The core is C++ as there is no faster or better way to deal with rendering PDF structures besides maybe MASM, or using the hardware on a graphics display adaptor, but as said, it's an internal project and I don't want it specific hardware dependent. Created two shells or wrappers calling the C++ that does all the nasty grind work with p/invoke. It was a joy building it in C# as the underlaying technology is very similar so passing pointer parameters is a breeze. VB.net on the otherhand, just as effective and efficient, but I did have to martial virtually all intprts and strings before it would run, has to do with byvar and byref as this fundamental differences between C# and VB.net. One of the joys of working with managed and unmanaged code.

Fast PDF to PNG rendering demo

Online PDF to PNG converter that supports transparency. Upload a PDF file, specify how large you want the bitmap(s) to be and watch the renderer create them for you.

1PDF Upload


2Image Size

Image size in pixels. Minimum 100px and maximum 2000px.

px

3Apply Transparency

Preserve transparency in image if PDF contains transparent elements

4Activate PDF Rendering

Process Uploaded PDF file


Need fast PDF bitmap generation?

Create 1:1 or pre-sized thumbnails of PDF files, without using Adobe®™ products, Ghostscript™ or Imagemagick™. It's fast and ideal to render PDF's for on demand, real-time PDF's generators as well as variable data PDF generators, with the quality suitable for print proofing confirmation. This tool is ideal for creating thumbnails of PDF libraries as well as creating bitmap proofs of PDF documents for display and Internet web use and fully supports PDF transparency. It even processes PDF files correctly that services like Pitstop Server®™ V10 are unable to process.

How to implement fast PDF rendering

  • Identify the amount of pages in the document that need to be converted.
  • Create an on-demand activator for each page to spawn the PDF renderer process.
  • Process each requested PDF page as received asynchronously.
  • Generate true to colour and content bitmaps according to user defined requirements.
  • Stream the bitmap result real-time back to the requesting party as these become available.

Async PDF Rendering on demand diagram

Fast Parallel PDF Rendering Model