PDF3D

Share this on social media:

Adobe's PDF is a striking standardisation triumph in document output and distribution. There are, no doubt, many valid criticisms of it on philosophical and theoretical grounds, but it seized on overwhelmingly practical advantages to make itself indispensable. It works, and in the same way regardless of your originating software. You don't have to buy Adobe’s full blown Acrobat software to gain its benefits on a day-to-day basis. At the entry user level, at least, it's not complicated. And it looks like paper. Result: it has become the default layout distribution medium.

So far, so good – as long as your material for distribution is flat. But scientific computing has moved on in many ways. Fast and cheap processors have given us animated 3D rendering, and we are used to getting much of our visualisation in that form with which the sheet of paper metaphor doesn't deal well. A consortium, including Adobe among a number of other partners, however, developed a compressed Universal 3D (U3D) standard for such content, subsequently standardised as ECMA-363, and Adobe has built it into current versions (anything since 7.0.9) of the free reader. All that is required is a means for putting your rendered and/or animated visualisation into a document, via this standard, so that others can view it with the same ease as they have become accustomed with 2D material.

PDF3D, from Visual Technology Services, has been around for a while and release 1.8 is now (as I write this) current. It provides a route for the transfer of 3D output from an originating application into the U3D form suitable for PDF embedding.This is not a one-click mass market distiller, rather an SDK for developers to use in providing PDF output from their own applications. It comes as a C++ library, and you need to put in time on the learning curve to make use of it in your own context. Having said that, I am a complete C++ dunce, but managed to sort my way through it without stress and with only one phone call to a friend.

The interfaces are all clearly self explanatory, the process is logical, the manual detailed, straightforward, well written and lucid. My own experiments were limited to fairly simple objects but, having learnt the ropes, I tracked down and visited a site where the SDK is in live use and highly complex dynamic output is being handled very impressively. Demonstrators at the live site also illustrated the potential for picking up and converting some existing 3D data analytic output artefacts, albeit with attributes restricted to those provided by the originating program.

Once embedded in a PDF, all controls provided by the generator are available to the end user: zoom, three-way rotation, camera and lighting control, and so on. The demo version provides a restricted version of the potential available from the full licenced product, and in my opinion VTS might benefit if they reviewed this policy. A time-limited trial period and watermarked output would provide adequate security and allow the full power to be fully appreciated by potential purchasers.

Not core to the product's function, but of great interest to anyone who tries to use modern licensed software in the real world, is the facility to shift licences from one machine to another (and back again, if required) as often and as widely as you like – old machine to upgrade, desktop to laptop, work to home. It's a bit of a fiddle, but greatly preferable to the usual business of seeking permission, getting new license files or codes, etc. The copy on the originating machine becomes a demo copy, than on the receiving machine becomes licensed; in essence, that's it.

For anyone with a need to distribute visualised 3D data with a minimum of hassle, in a form readily accessible to a wide readership, PDF3D is well worth a close look.