Printing Rasterized OLE Objects: Performance and PDF File Size

(This topic applies to MicroStation 8.9 and later)

Here's the scenario: I start with a design file that contains a single, relatively dense Excel spreadsheet that fills roughly 98% of an ANSI E sheet. I print this same sheet in MicroStation 8.5 and 8.9, in both cases using the pdf.plt printer driver configuration file delivered with MicroStation 8.5, maximized to ANSI E and printing in non-rasterized mode.

In MicroStation 8.5, the print takes about four seconds, and results in a 476 KB PDF file. In MicroStation 8.9, the print takes about 17 seconds, and results in a 1261 KB PDF file. Why is this? And how do I get the same performance out of MicroStation 8.9 that I had in MicroStation 8.5? These are questions I answer quite often.

The gist of the answer is that MicroStation 8.9 rasterizes the OLE attachment at a higher resolution than MicroStation 8.5. Compare these screenshots of the PDF files as displayed in Adobe Reader at 200% zoom. The MicroStation 8.9 PDF is on top, the MicroStation 8.5 PDF is on the bottom:

MicroStation 8.9 rasterized the OLE using the raster resolution specified in pdf.plt (300 DPI), producing a sharper image. MicroStation 8.5 rasterized the OLE using a lower resolution, producing a more blurry image.

To compute the OLE resolution used by MicroStation 8.5, you'll need to do some math. MicroStation 8.5 used a fixed 4096 x 4096 pixel rasterization buffer for all OLE objects, regardless of their output size. No tiling was performed. In my case, the OLE object ranged from (0,44) to (34, 0.8474) master units, and my print scale was 1 master unit to 1 inch on paper. So at 600 DPI device resolution (specified in pdf.plt), the output pixel size of the OLE attachment was 34 x 43.1526" * 600, or 20400 x 25892 pixels. Since the rasterization buffer was only 4096 x 4096 pixels, the OLE object was rasterized at this small size then scaled up to PDF resolution. The effective OLE raster resolution was 4096 / 25892, or only about 16%.

In MicroStation 8.9, I repeat the print under the same conditions, only this time I change the raster resolution from 50% (300 DPI) to 16% (96 DPI). The resulting PDF is 300 KB, and takes 7 seconds to produce. The quality of OLE inside this PDF is somewhere in between the quality of the PDFs produced by MicroStation 8.5 and 8.9 (at 300 DPI):

The quality is still somewhat better (and the print time marginally longer) than MicroStation 8.5 due to the tiling that MicroStation 8.9 still performs. The only way to eliminate tiling from MicroStation 8.9 would be to drop the OLE resolution down to the point it could be rasterized in a single 1024 x 1024 tile, which would likely produce unacceptable quality.

When comparing identical OLE raster resolutions, for this data case the PDF file size produced by MicroStation 8.9 is about 36% smaller than MicroStation 8.5. This is due to the color depth optimizations performed by MicroStation 8.9.

Therefore, if you are willing to do without the rasterized OLE quality improvements in MicroStation 8.9, and would like to reduce output file sizes and increase performance when printing rasterized OLE objects, you can lower the raster resolution until the quality drops below your acceptable threshold.

I want to point out that when printing using printer.pltcfg, OLE attachments do not need to be rasterized.  In that case, none of this applies.