Hi,

you would need to include an OutputIntents entry into the DocumentCatalog. I 
think at that point in time there is no high level API for that.

A sample entry would look like this (Generated by Acrobat X) 

(COSName{OutputIntents}:COSArray{[COSDictionary{(COSName{DestOutputProfile}:COSDictionary{(COSName{Filter}:COSName{FlateDecode})
 (COSName{Length}:COSInt{2574}) (COSName{N}:COSInt{3}) 
(COSName{Range}:COSArray{[COSFloat{0.0}, COSFloat{1.0}, COSFloat{0.0}, 
COSFloat{1.0}, COSFloat{0.0}, COSFloat{1.0}]}) }) (COSName{Info}:COSString{sRGB 
IEC61966-2.1}) (COSName{OutputCondition}:COSString{}) 
(COSName{OutputConditionIdentifier}:COSString{Custom}) 
(COSName{RegistryName}:COSString{http://www.color.org}) 
(COSName{S}:COSName{GTS_PDFA1}) (COSName{Type}:COSName{OutputIntent}) }]}).

Kind regards

Maruan Sahyoun

Am 12.01.2013 um 10:17 schrieb Guillaume Bailleul <[email protected]>:

> Hi,
> 
> I am trying to create a simple PDF/A with PDFBox and I am facing a
> ColorSpace problem. I attach the source code to the mail. The
> important part of the source is below [3].
> 
> The document is generated without error. It is readable with acrobat
> reader. But it is considered as an invalid PDF/A with callas validator
> [2] because the output intent is not defined [1].
> 
> Is there some documentation or examples on how to integrate
> outputintent in my document ?
> 
> Thanks for your help,
> 
> Guillaume
> 
> 
> [1] Callas returned error :
>  Colors are not defined as neutral, and therefore do not always
> appear the same.
>  Device process color used but no PDF/A OutputIntent (1 match on 1 page)
>  - Text BitstreamVeraSans-Roman 12.0 pt TrueType embedded (1 match)
> 
> [2] Callas online demo
> http://www.datalogics.com/products/callas/callaspdfA-onlinedemo.asp
> 
> [3] The important part of the source :
> 
>            doc = new PDDocument();
> 
>            PDPage page = new PDPage();
>            doc.addPage( page );
> 
>            PDFont font = PDTrueTypeFont.loadTTF(doc,
> "../pdfbox/src/main/resources/org/apache/pdfbox/resources/ttf/ArialMT.ttf");
> 
>            PDPageContentStream contentStream = new
> PDPageContentStream(doc, page);
>            contentStream.beginText();
>            contentStream.setFont( font, 12 );
>            contentStream.moveTextPositionByAmount( 100, 700 );
>            contentStream.drawString( message );
>            contentStream.endText();
>            contentStream.saveGraphicsState();
>            contentStream.close();
> 
>            PDDocumentCatalog cat = doc.getDocumentCatalog();
>            PDMetadata metadata = new PDMetadata(doc);
>            cat.setMetadata(metadata);
> 
>            // jempbox version
>            XMPMetadata xmp = new XMPMetadata();
>            XMPSchemaPDFAId pdfaid = new XMPSchemaPDFAId(xmp);
>            xmp.addSchema(pdfaid);
>            pdfaid.setConformance("B");
>            pdfaid.setPart(1);
>            pdfaid.setAbout("");
>            metadata.importXMPMetadata(xmp);
> 
>            doc.save( file );

Reply via email to