Mark Stephens Mark has been working with Java and PDF since 1999 and is a big NetBeans fan. He enjoys speaking at conferences. He has an MA in Medieval History and a passion for reading.

Interesting PDF bugs – PDF text is really a tiny image with a big smask

57 sec read

Today’s article is a variation on an old favourite I have written about before. I have been investigating a PDF file which did not display correctly some text in our Java PDF viewer…

So I opened up the PDF file (which claimed to be created by Microsoft Publisher 2010) and found the raw commands relating to the text. It turned out that it was not actually text but a tiny 2×2 pixel dot applied to a much larger SMask.

Most of the time, an Smask is used to add a clip to an image. But the trick in this case was to actually have the inverted image on the stencil and then draw it onto a solid image. It is a slightly ‘odd’ way to do things but it is not disallowed in the PDF spec so we need to handle it correctly without slowing down or breaking the generic code to handle the more usual way to apply an SMask.

Our generic code did not allow for this case. The fix is to spot this usage case and substitute a new image the same size as the stencil before applying it.

This fixes this ‘pdf bug’ nicely. But it is a reminder that you can never take anything for granted in PDF files if you want to avoid ‘pdf bugs’.

This post is part of our “Understanding the PDF File Format” series. In each article, we discuss a PDF feature, bug, gotcha or tip. If you wish to learn more about PDF, we have 13 years worth of PDF knowledge and tips, so click here to visit our series index!

Did you know...

IDRsolutions offers a whole range of online file converters to convert PDF and Microsoft Excel, Word and Office Documents to HTML5, SVG or image formats?

It is free to use for single file conversions and also includes Developer links if you want to use our commercial software for bulk conversions. Find out more on this page

Mark Stephens Mark has been working with Java and PDF since 1999 and is a big NetBeans fan. He enjoys speaking at conferences. He has an MA in Medieval History and a passion for reading.

How to convert WMF files to SVG in java…

This article will show you how to convert WMF files into SVG files using our JDeli Java Image library. What is WMF? WMF is...
Amy Pearson
1 min read

How to write WebP images in Java

In this article, I will walk you through how to write out images as WebP images in Java. ImageIO does not support WebP images...
Mark Stephens
1 min read

How to convert EMF files to SVG in Java…

This article shows you how to convert EMF files into SVG files using our JDeli Java Image library. What is EMF? EMF is a...
Mark Stephens
1 min read

Leave a Reply

Your email address will not be published. Required fields are marked *

IDRsolutions Ltd 2020. All rights reserved.