Thanks for logging it :)
I did try and do a quick and dirty, I downloaded the source and changed
PDColorSpace... never used marvin before, and it didn't want too play
ball, in the end found one of the poms was incorrect, fixed that and
compiled it all up.
changed return new PDPattern(resources);
with
PDPattern p = new PDPattern(resources);
p.array = new COSArray();
p.array.add(COSName.PATTERN);
return p;
Got that object right and it added to getResources() quit nicely.
but when calling PDPageContentStream.setNonStrokingColor(PDColor) with
PDColor using the pattern resource using
PDPage.getResources().getColorSpace(COSName.getPDFName("R9")) when
using PDColor(float[] components, COSName patternName, PDColorSpace
colorSpace)
so :-
COSArray ca = new COSArray();
ca.add(COSName.PATTERN);
PDPage.getResources().put(COSName.getPDFName("R9"),PDColorSpace.create(ca,PDPage.getResources()));
PDColor pdColour = new PDColor(new
float[]{colour.getRed()/255f,colour.getGreen()/255f,colour.getBlue()/255f},COSName.getPDFName("Patten1"),PDPage.getResources().getColorSpace(COSName.getPDFName("R9")));
PDPageContentStream.setNonStrokingColor(pdColour);
when calling setNonStrokingColor it duplicates the PDPattern and so the
PDPage.getResources() ends up with another item in the colour space,
with a completely different name, and by the way the PDF comes out, it
dose not like this also PDFDebugger when selecting Page: 1 gets a null
pointer so its not too happy with the result.
So I think I will wait for the proper fix, as I do not understand, the
underline engine.
On 08/11/2016 19:41, Tilman Hausherr wrote:
Am 08.11.2016 um 18:58 schrieb clifford:
I have figured it out there is a bug in PDColorSpace.
At no point you can not get a PDPattern with the variable array set.
so the method in PDSpecialColorSpace "public COSBase getCOSObject()"
always returns null, which is why it fails to get put into the resource.
You're right. I need to think about this. I have opened an issue
https://issues.apache.org/jira/browse/PDFBOX-3560
Tilman
On 08/11/2016 17:00, Tilman Hausherr wrote:
Am 08.11.2016 um 16:00 schrieb clifford:
in PDFBOX-1094 <https://issues.apache.org/jira/browse/PDFBOX-1094>
there is a file called gs-bugzilla691715.pdf
Was this file generated by PDFBox, if so could I have the source as
I am trying to get PDPattern to work.
No, the file is from ghostscript:
http://bugs.ghostscript.com/show_bug.cgi?id=691715
I've never heard that people create PDFs with patterns because it's
complex. But you're welcome and hopefully you'll be helped. Last
year we had a guy who created shadings from scratch.
when doing
cvPage.getResources().put(COSName.getPDFName("R9"),PDColorSpace.create(COSName.PATTERN,cvPage.getResources()));
cvPage = a PDPage object
The Pattern is not added to the resources items, there is code in
PDFBox that actually stops a PDPattern from being added?
I can add any other PDColorSpace object I like but not a
COSName.PATTERN one.
Can you create some small but complete code that "proves" that the
Pattern is not being added? Obviously you have something, but I, to
help you, would have to create something from scratch.
Tilman
looking at gs-bugzilla691715.pdf it looks like ColourSpace Patten
has been added to Resources as a array under ColorSpace, how did
they do that.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
--
*Kind regards*
*Clifford Dann
Paprika*
T +44 (0)1732 811601
www.paprika-software.com <https://www.paprika-software.com%3C>
Latters House, High Street, Hadlow, Tonbridge, Kent, TN11 0EF, United
Kingdom
Agency Software Worldwide Ltd. Registered in England and Wales 01665695