See chapter 10 of the PDF reference http://www.adobe.com/devnet/pdf/pdf_reference.html. Be warned that this is not for the faint of heart.
Paulo ----- Original Message ----- From: "ajsos" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Friday, June 08, 2007 3:19 AM Subject: Re: [iText-questions] Added support for PDF/A-1 > > Paulo, You said "1b is easier but 1a is also possible if all the tagging > is > added by hand." > > I'm new to this PDF/A stuff. If you get a chance, could you describe or > point to materials (I tried googling & couldn't find much) on what tags to > add for PDF/A-1a and how to add it please? Thanks. > > > Paulo Soares wrote: >> >> 1b is easier but 1a is also possible if all the tagging is added by hand. >> >> Paulo >> >>> -----Original Message----- >>> From: [EMAIL PROTECTED] >>> [mailto:[EMAIL PROTECTED] On >>> Behalf Of Leonard Rosenthol >>> Sent: Tuesday, June 05, 2007 5:27 PM >>> To: Post all your questions about iText here >>> Subject: Re: [iText-questions] Added support for PDF/A-1 >>> >>> Excellent - thanks!! >>> >>> Are you doing both 1a and 1b, or just 1b? >>> >>> Leonard >>> >>> On Jun 5, 2007, at 11:06 AM, Paulo Soares wrote: >>> >>> > I've added support for PDF/A-1 and is available in the iText SVN >>> > and the iTextSharp CVS. An example: >>> > >>> > Document doc = new Document(PageSize.A4); >>> > PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream >>> > ("C:\\hello_A1-b.pdf")); >>> > writer.setPDFXConformance(PdfWriter.PDFA1B); >>> > doc.open(); >>> > PdfDictionary outi = new PdfDictionary(PdfName.OUTPUTINTENT); >>> > outi.put(PdfName.OUTPUTCONDITIONIDENTIFIER, new PdfString("sRGB >>> > IEC61966-2.1")); >>> > outi.put(PdfName.INFO, new PdfString("sRGB IEC61966-2.1")); >>> > outi.put(PdfName.S, PdfName.GTS_PDFA1); >>> > ICC_Profile icc = ICC_Profile.getInstance(new FileInputStream("c:\ >>> > \srgb.profile")); >>> > PdfICCBased ib = new PdfICCBased(icc); >>> > ib.remove(PdfName.ALTERNATE); >>> > outi.put(PdfName.DESTOUTPUTPROFILE, writer.addToBody >>> > (ib).getIndirectReference()); >>> > writer.getExtraCatalog().put(PdfName.OUTPUTINTENTS, new PdfArray >>> > (outi)); >>> > >>> > BaseFont bf = BaseFont.createFont("c:\\windows\\fonts\\arial.ttf", >>> > BaseFont.WINANSI, true); >>> > Font f = new Font(bf, 12); >>> > doc.add(new Paragraph("hello", f)); >>> > writer.createXmpMetadata(); >>> > doc.close(); >>> > >>> > >>> > And for C#: >>> > >>> > Document doc = new Document(PageSize.A4); >>> > PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream("C:\ >>> > \hello_A1-b_cs.pdf", FileMode.Create)); >>> > writer.PDFXConformance = PdfWriter.PDFA1B; >>> > doc.Open(); >>> > PdfDictionary outi = new PdfDictionary(PdfName.OUTPUTINTENT); >>> > outi.Put(PdfName.OUTPUTCONDITIONIDENTIFIER, new PdfString("sRGB >>> > IEC61966-2.1")); >>> > outi.Put(PdfName.INFO, new PdfString("sRGB IEC61966-2.1")); >>> > outi.Put(PdfName.S, PdfName.GTS_PDFA1); >>> > ICC_Profile icc = ICC_Profile.GetInstance("c:\\srgb.profile"); >>> > PdfICCBased ib = new PdfICCBased(icc); >>> > ib.Remove(PdfName.ALTERNATE); >>> > outi.Put(PdfName.DESTOUTPUTPROFILE, writer.AddToBody >>> > (ib).IndirectReference); >>> > writer.ExtraCatalog.Put(PdfName.OUTPUTINTENTS, new PdfArray(outi)); >>> > >>> > BaseFont bf = BaseFont.CreateFont("c:\\windows\\fonts\\arial.ttf", >>> > BaseFont.WINANSI, true); >>> > Font f = new Font(bf, 12); >>> > doc.Add(new Paragraph("hello", f)); >>> > writer.CreateXmpMetadata(); >>> > doc.Close(); >>> > >>> > >>> > Paulo ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ iText-questions mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/itext-questions Buy the iText book: http://itext.ugent.be/itext-in-action/
