pdfbox-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tilman Hausherr <THaush...@t-online.de>
Subject Re: Blend Mode - Multiply
Date Tue, 09 May 2017 10:57:37 GMT
Am 09.05.2017 um 12:10 schrieb Asgeir Hølleland:
>
> Hi
>
> I’m quite new to PDFBox and trying to find my way around. I find the 
> documentation to be a bit confusing as I cannot find a way to commit a 
> multiply (blend mode) to the document. Here is an outtake of my 
> current attempt although I must admit that I do not fully understand 
> all the PDF and PDFBox concepts yet.
>
> COSDictionary dictionary = pdfBoxDocument.getPage(1).getCOSObject();
> PDExtendedGraphicsState pdExtGfxState = new 
> PDExtendedGraphicsState(dictionary);
> PDGraphicsState gfxState = new 
> PDGraphicsState(pdfBoxDocument.getPage(1).getMediaBox());
> gfxState.setBlendMode(BlendMode./MULTIPLY/);
> pdExtGfxState.copyIntoGraphicsState(gfxState);
> SetGraphicsStateParameters gfxParameters = new 
> SetGraphicsStateParameters();
>
> Could someone tell me whether I’m on the right track or doing this all 
> wrong?
>
> How do I set the graphics state parameters to the documents objects?
>

You can only set a blend mode if you are creating a document. Changing 
an existing document is tricky, it would depend on the document. It's 
probably better that you get a copy of Adobe Acrobat Pro.

What you did above does not make any sense, i.e. creating a ExtGState 
object from a page, this won't work. You can only do this with a page 
content stream, see in the examples, e.g. helloworld.java.

PDExtendedGraphicsState pdExtGfxState = new PDExtendedGraphicsState();

pdExtGfxState.setBlendMode(BlendMode./MULTIPLY/);

Then in your PDPageContentStream (see examples), you set the ExtGState with
cs.setGraphicsStateParameters(pdExtGfxState).


hre's an example, although without blendmode:
https://stackoverflow.com/questions/40267719/pdfbox-2-1-0-when-printed-from-ie11-transparent-text-watermark-has-opaque-ba

Tilman


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message