Created attachment 10413 [details] Proposed fix pdf_dev_new_form stores the blendmode directly in the group dict: pdf_dict_puts_drop(group, "BM", pdf_new_name(doc, fz_blendmode_name(blendmode))); Transparency groups do not have a BM field, which only appears in ExtGStates.
Ok, my fix proposal is rotten. So basically: I should not have used num_smask. That's plain wrong. Second, I do not track previously created ExtGStates with the given BM, so we'd be better off just inlining the ExtGState. Here is a new, shorter and cleaner proposal.
Created attachment 10414 [details] Proposed fix
Created attachment 10500 [details] 0001-Bug-694794-Fix-blendmode-use-in-pdf-device.patch Proposed fix.
Fixed in: commit 9bc4493099ae2e4264445ac9f8465e8876b8724a Author: Robin Watts <robin.watts@artifex.com> Date: Mon Dec 23 15:50:57 2013 +0000 Bug 694794: Fix blendmode use in pdf device. Previously we were setting blendmode in the created form XObjects transparency group definition. This didn't work as PDF readers don't look for it there. Now we set it in the calling stream's resources, and set it before calling the group. Thanks for the report!