The PDF File Format includes some very sophisticated features. One of the most interesting ones is the Blend Mode (introduced in PDF version 1.4). This is intended as a brief overview article https://www.sodapdf.com/de/ – if you would like to see some more detailed articles.
What is Blend Mode?
Blend Mode controls how new content is painted and allows the new pixels to be affected by what has already been drawn.
In Normal mode, any new drawing will erase existing items that it draws over. So if I draw a RED box on a page, anything underneath will disappear. But wouldn’t it be useful if the new red box could ‘interact’ (or blend) with whatever is on the page? This is what Blend Modes allow!
How is it set?
Blend Mode is set using the BM command in the GraphicsState and the default value is Normal.
Other possible values are Compatible (actually the same as Normal), Multiply, Screen, Overlay, Darken, Lighten, ColorDodge, ColorBurn, Hardlight, SoftLight, Difference, Exclusion.
How does it work?
When a pixel is drawn on the page, a formula is applied as defined in Section 11.3.5 of the PDF File Specification which produces a final blended result based on the current value and the new value.
How it works can be dependent on the exact colorspace used.
How would I implement it in Java?
If you want to implement this functionality in Java, the easiest way is to use JavaFX which includes all these modes defined so you can apply to any Node.
Java is more complex because it needs an implementation of CompositeContext for each Mode.
There is a nice tutorial exploring Composites in Swing/Java2D here.
Java also works in sRGB, so effects based on DeviceCMYK or other ColorSpaces become more complex to implement.
Is there a good PDF example?
If you are looking for a detailed example file, take a look at the Adobe test file.
During a word presentation, users can click on the PDF icon (inserted PDF) to obtain extra information without browsing through their whole list of files on their PC among clients or colleagues. It’s the ideal way to cope with a long presentation when you have a lot of material to convey to your audience. To make it easier to view the PDF file, users typically choose to insert PDF into Word.
Blend Modes allow to create some very interesting effects in compositing (both in and beyond PDF). If you are doing any form of drawing, they are worth knowing about and experimenting with.
Want to learn more about PDF files?
This post is part of our “Understanding the PDF File Format” series. In each article, we aim to take a specific PDF feature and explain it in simple terms. If you wish to learn more about PDF, we have 13 years’ worth of PDF knowledge and tips, so visit our series index!