My last message got a little garbage, but I have found a half solution. Code is 
below. This edits a pdf file with forms, creats another , then merges them 
together. The only problem is that the resulting document has the the tables 
from the second document starting on the page after the forms instead of right 
after the forms. Hope this isnt' too. Any ideas on how to add content driectly 
after a form area in a document?

public static void buildProvDosesAdminReport(String docType, FileOutputStream 
out  ) throws Exception {
                        
                //read in existing PDF with forms
                ByteArrayOutputStream pdfStream1 = new ByteArrayOutputStream();
                PdfReader reader = new 
PdfReader("docs/pdf/providers_dose_admin.pdf");
                PdfStamper stamp = new PdfStamper(reader , pdfStream1 );
                AcroFields form = stamp.getAcroFields();
        
                        
                //Find text fields to fill out
                Date now = new Date();
                
                form.setField("ClinicName", "provider");
                formatter.applyPattern(DATE_FORMAT);
                form.setField("Date", formatter.format(now) );
                formatter.applyPattern(TIME_FORMAT);
                form.setField("Time", formatter.format(now) );
                form.setField("Address", "street");
                form.setField("City", "city");
                form.setField("Phone", "phone");
                form.setField("State", "state");
                form.setField("Zip", "zip");
                form.setField("Fax", "fax");
                form.setField("Contact", "contact");
                stamp.setFormFlattening(true);

                //write to pdfStream and close editing
                stamp.close();
                
                
                //Create the document with tables.
                ByteArrayOutputStream pdfStream2 = new ByteArrayOutputStream();
                Document document = new Document(PageSize.A4, 10, 10, 10, 10);
                PdfWriter writer = PdfWriter.getInstance(document, pdfStream2);
                document.open();
                
                int NumColumns = 11;

                PdfPTable datatable = new PdfPTable(NumColumns);
                int headerwidths[] = { 10, 8, 8, 6, 6, 6, 6, 7, 7, 7, 5 }; // 
percentage
                datatable.setWidths(headerwidths);
                datatable.setWidthPercentage(90); // percentage
                datatable.getDefaultCell().setPadding(1);
                datatable.getDefaultCell().setBorderWidth(2);
                
datatable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
                datatable.addCell("Lot #");
                datatable.addCell("Vaccine Code");
                datatable.addCell("Manuf.");
                datatable.addCell("< 1 yrs.");
                datatable.addCell("1-4 yrs.");
                datatable.addCell("5-11 yrs.");
                datatable.addCell("12-17 yrs.");
                datatable.addCell("18-49 yrs.");
                datatable.addCell("50-64 yrs.");
                datatable.addCell("65 + yrs.");
                datatable.addCell("Total");

                datatable.setHeaderRows(1); // this is the end of the table 
header

                datatable.getDefaultCell().setBorderWidth(1);
                for (int i = 1; i < 14; i++) {
                        if (i % 2 == 1) {
                                datatable.getDefaultCell().setGrayFill(0.9f);
                        }
                        for (int x = 0; x < NumColumns; x++) {
                                if (i==13 && x==0) datatable.addCell("Total"); 
                                else datatable.addCell(""+i);
                        }
                        if (i % 2 == 1) {
                                datatable.getDefaultCell().setGrayFill(0.0f);
                        }
                }
                
                
                document.add(new Paragraph("\nFederal Funding\n\n"));
                
                document.add(datatable);
                
                document.add(new Paragraph("\nState Funding\n\n"));             
        
                
                document.add(datatable);
                
                document.add(new Paragraph("\nSpecial Projects Funding\n\n"));
                
                document.add(datatable);
                
                document.add(new Paragraph("\nOther Funding\n\n"));
                
                document.add(datatable);
        
                document.close();
                
                
                //Read the two files and merge.
                PdfCopyFields copy = new PdfCopyFields( out  );
                PdfReader reader1 = new PdfReader( pdfStream1.toByteArray() );
                PdfReader reader2 = new PdfReader( pdfStream2.toByteArray() );
                
                copy.addDocument(reader1);
                copy.addDocument(reader2);
                
                copy.close();
                
                
        }















>>> "Paulo Soares" <[EMAIL PROTECTED]> 12/5/2005 1:42 pm >>>
Do the first part with PdfStamper and flattening and then import the pages.

----- Original Message ----- 
From: "Eric Anderson" <[EMAIL PROTECTED]>
To: <itext-questions@lists.sourceforge.net>
Sent: Monday, December 05, 2005 5:33 PM
Subject: [iText-questions] Copying stamped objects to a document.


Is there anyway to do something like this?

Document document = new Document(PageSize.A4, 10, 10, 10, 10);
document.open();

PdfReader reader = new PdfReader("../docs/pdf/providers_dose_admin.pdf");
PdfStamper stamp = new PdfStamper(reader , out);
AcroFields form = stamp.getAcroFields();

.... fill in forms then flatten?

then

document.add(stamp.getAll()); ??


How can I bring in an already created document with stamps, fill in those 
stamps and use that in my documents?



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37&alloc_id865&op=click
_______________________________________________
iText-questions mailing list
iText-questions@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/itext-questions

Reply via email to