Hi,

I am using iText for generating PDF/A compliant pdf file. The code used by
me is as follows:

public class PdfMaker
{
        // the _document is the PDF file's layout
        private Document _document;
        
        // the writer used to write to the _document to produce the PDF file
        private PdfWriter _writer;
        
        // the output stream to write to the file
        private ByteArrayOutputStream _baosPDF;
        
        // empty space between two tables, headings, etc
        private Paragraph _emptyPara;

        // Common constants
        private static final String REPORT_HEADING = "REPORT";
        private static final String FILE_EXTENSION = ".pdf";
        private static final String TIME_PATTERN = "mmddyyyy_HHmmss";
        private static final String FOOTER = "footer";
        
        private static final String ITEM1 = "Item1";
        private static final String ITEM2 = "Item2";
        private static final String ITEM3 = "Item3";
                
                
        /**
         * This method initializes the components required for generating the 
PDF
         */     
        private void init()
        {
                _document = new Document();
                _baosPDF = new ByteArrayOutputStream();

                
                try
                {
                        _writer = PdfWriter.getInstance(_document, _baosPDF);
                        _writer.setPDFXConformance(PdfWriter.PDFA1A);
                }
                catch (DocumentException dex)
                {
                        
                }
        }

        /**
         * This method creates the PDF
         * @return File representation of the PDF generated
         */     
        public File createPDF()
        {
                
                File pdfFile = null;
                init();
                //File fontFile = createFontFile();
                
                try
                {
                        _document.setPageSize(PageSize.A4);
                        _document.open();
                        BaseFont bf = 
BaseFont.createFont("C:\\WINDOWS\\Fonts\\ARIAL.TTF",
BaseFont.WINANSI, true);
                
                        Font font = new Font(bf, 12);
                        
                        _emptyPara = new Paragraph(" ", font);
                        
                        // set the footer
                        HeaderFooter footer = new HeaderFooter(new 
Phrase(FOOTER, font), false);
                        footer.setAlignment(2);
                        _document.setFooter(footer);
                        
                        Paragraph title = new Paragraph(REPORT_HEADING, font);
                        title.setAlignment(1);
                        _document.add(title);
                                
                        _document.add(_emptyPara);
                        
                        // General Details
                        addParagraphHeader("General", font);
                        addGeneralDetails(font);
                        
                        
                        _document.close();
                        StringBuffer pdfFileName = new StringBuffer();
                    SimpleDateFormat simpleDateFormat = new
SimpleDateFormat(TIME_PATTERN);
                    String dateAndTimeSuffix = simpleDateFormat.format(new 
Date());
                    pdfFileName.append("_");
                    pdfFileName.append(dateAndTimeSuffix);
                        pdfFile = File.createTempFile(pdfFileName.toString(), 
FILE_EXTENSION);
                        
                        _baosPDF.writeTo(new FileOutputStream(pdfFile));
                        
                        _writer.close();
                }
                catch(IOException ioe)
                {
                
                }
                catch(DocumentException docex)
                {
                
                }
                finally
                {
                        
                }
                return pdfFile;
        }
        
        /**
         * This method adds a paragraph to the PDF
         * @param paragraphName : the name of the Paragraph
         */     
        private void addParagraphHeader(final String paragraphName, final Font
font) throws DocumentException
        {
                Paragraph generalPara = new Paragraph(paragraphName, font);
                generalPara.setAlignment(1);
                _document.add(generalPara);
                _document.add(_emptyPara);
        }       

        /**
         * This method adds the General details of the workitem to the PDF in a
tabular form
         * @throws DocumentException : an iText specific Runtime Exception
         */
        private void addGeneralDetails(final Font font) throws DocumentException
        {
                String item1 = "Item 1";
                String item2 = "Item 2";
                String item3 = "Item 3";

                _document.add(new Paragraph("Item 1 : " + item1, font));
                _document.add(new Paragraph("Item 2 : " + item2, font));
                _document.add(new Paragraph("Item 3 : " + item3, font));
                
        }
        
        
        public static void main(String args[])
        {
                PdfMaker pdfMaker = new PdfMaker();
                pdfMaker.createPDF();
        }
}



Please let me know if there is any tool available to test the compliance of
the generated pdf file.

Thanks 
Manoj
-- 
View this message in context: 
http://www.nabble.com/Tool-for-testing-PDF-A-compliant-pdf-file-tp20205950p20205950.html
Sent from the iText - General mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
iText-questions mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/itext-questions

Buy the iText book: http://www.1t3xt.com/docs/book.php

Reply via email to