com.lowagie.text.pdf
Class PdfCopyFieldsImp

java.lang.Object
  extended bycom.lowagie.text.DocWriter
      extended bycom.lowagie.text.pdf.PdfWriter
          extended bycom.lowagie.text.pdf.PdfCopyFieldsImp
All Implemented Interfaces:
DocListener, ElementListener, EventListener

class PdfCopyFieldsImp
extends PdfWriter

Author:
psoares

Nested Class Summary
 
Nested classes inherited from class com.lowagie.text.pdf.PdfWriter
PdfWriter.PdfBody, PdfWriter.PdfTrailer
 
Field Summary
(package private)  boolean closing
           
protected static HashMap fieldKeys
           
(package private)  ArrayList fields
           
(package private)  HashMap fieldTree
           
(package private)  RandomAccessFileOrArray file
           
(package private)  PdfDictionary form
           
(package private)  ArrayList pageDics
           
(package private)  ArrayList pageRefs
           
(package private)  HashMap pages2intrefs
           
(package private)  ArrayList readers
           
(package private)  HashMap readers2intrefs
           
(package private)  PdfDictionary resources
           
(package private)  HashMap visited
           
protected static HashMap widgetKeys
           
 
Fields inherited from class com.lowagie.text.pdf.PdfWriter
AllowAssembly, AllowCopy, AllowDegradedPrinting, AllowFillIn, AllowModifyAnnotations, AllowModifyContents, AllowPrinting, AllowScreenReaders, body, CenterWindow, colorNumber, crypto, currentPageNumber, currentPdfReaderInstance, DID_PRINT, DID_SAVE, directContent, directContentUnder, DirectionL2R, DirectionR2L, DOCUMENT_CLOSE, documentColors, documentExtGState, documentFonts, documentPatterns, documentShadingPatterns, documentShadings, documentSpotPatterns, FitWindow, fontNumber, formXObjects, formXObjectsCounter, group, HEADER, HideMenubar, HideToolbar, HideWindowUI, imageDictionary, importedPages, NO_SPACE_CHAR_RATIO, NonFullScreenPageModeUseNone, NonFullScreenPageModeUseOutlines, NonFullScreenPageModeUseThumbs, PAGE_CLOSE, PAGE_OPEN, PageLayoutOneColumn, PageLayoutSinglePage, PageLayoutTwoColumnLeft, PageLayoutTwoColumnRight, PageModeFullScreen, PageModeUseNone, PageModeUseOutlines, PageModeUseThumbs, pageReferences, patternColorspaceCMYK, patternColorspaceGRAY, patternColorspaceRGB, patternNumber, pdf, root, RUN_DIRECTION_DEFAULT, RUN_DIRECTION_LTR, RUN_DIRECTION_NO_BIDI, RUN_DIRECTION_RTL, runDirection, SIGNATURE_APPEND_ONLY, SIGNATURE_EXISTS, SPACE_CHAR_RATIO_DEFAULT, STRENGTH128BITS, STRENGTH40BITS, VERSION_1_2, VERSION_1_3, VERSION_1_4, VERSION_1_5, ViewerPreferencesMask, WILL_PRINT, WILL_SAVE
 
Fields inherited from class com.lowagie.text.DocWriter
closeStream, document, EQUALS, FORWARD, GT, LT, NEWLINE, open, os, pageSize, pause, QUOTE, SPACE, TAB
 
Constructor Summary
(package private) PdfCopyFieldsImp(OutputStream os)
           
(package private) PdfCopyFieldsImp(OutputStream os, char pdfVersion)
           
 
Method Summary
(package private)  void addDocument(PdfReader reader)
           
(package private)  void addPageOffsetToField(HashMap fd, int pageOffset)
           
protected  PdfArray branchForm(HashMap level, PdfIndirectReference parent)
           
 void close()
          Signals that the Document was closed and that no other Elements will be added.
protected  void closeIt()
           
protected  void createAcroForms()
           
(package private)  void createWidgets(ArrayList list, AcroFields.Item item)
           
protected  PdfDictionary getCatalog(PdfIndirectReference rootObj)
           
protected  int getNewObjectNumber(PdfReader reader, int number, int generation)
           
protected  PdfIndirectReference getNewReference(PRIndirectReference ref)
           
 PdfIndirectReference getPageReference(int page)
          Gets a reference to a page existing or not.
(package private)  RandomAccessFileOrArray getReaderFile(PdfReader reader)
           
protected  boolean isPage(PRIndirectReference ref)
           
protected  boolean isVisited(PdfReader reader, int number, int generation)
           
protected  boolean isVisited(PRIndirectReference ref)
           
(package private)  void mergeField(String name, AcroFields.Item item)
           
(package private)  void mergeFields()
           
(package private)  void mergeWithMaster(HashMap fd)
           
(package private)  void propagate(PdfObject obj, PdfIndirectReference refo, boolean restricted)
           
protected  boolean setVisited(PRIndirectReference ref)
           
 
Methods inherited from class com.lowagie.text.pdf.PdfWriter
add, add, add, addAnnotation, addAnnotation, addCalculationOrder, addDirectImageSimple, addDirectTemplateSimple, addJavaScript, addJavaScript, addJavaScript, addLocalDestinations, addSharedObjectsToBody, addSimple, addSimple, addSimpleExtGState, addSimplePattern, addSimplePatternColorspace, addSimpleShading, addSimpleShadingPattern, addToBody, addToBody, addToBody, eliminateFontSubset, fitsPage, fitsPage, fitsPage, fitsPage, freeReader, getAcroForm, getCurrentDocumentSize, getCurrentPage, getCurrentPageNumber, getDirectContent, getDirectContentUnder, getEncryption, getExtraCatalog, getGroup, getImageReference, getImportedPage, getIndirectReferenceNumber, getInfo, getInstance, getInstance, getOs, getPageEvent, getPageNumber, getPdfDocument, getPdfIndirectReference, getRootOutline, getRunDirection, getSpaceCharRatio, getTableBottom, isPaused, isStrictImageSequence, open, reorderPages, resetContent, setAdditionalAction, setCropBoxSize, setDuration, setEncryption, setEncryption, setExtraCatalog, setGroup, setLinearPageMode, setOpenAction, setOpenAction, setPageAction, setPageEmpty, setPageEvent, setPageLabels, setPdfVersion, setRunDirection, setSigFlags, setSpaceCharRatio, setStrictImageSequence, setTransition, setViewerPreferences, size
 
Methods inherited from class com.lowagie.text.DocWriter
add, add, addTabs, clearTextWrap, flush, getISOBytes, hasMarkupAttributes, isCloseStream, newPage, pause, removeWatermark, resetFooter, resetHeader, resetPageCount, resume, setCloseStream, setFooter, setHeader, setMargins, setPageCount, setPageSize, write, write, writeEnd, writeEnd, writeMarkupAttributes, writeStart
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

readers

ArrayList readers

readers2intrefs

HashMap readers2intrefs

pages2intrefs

HashMap pages2intrefs

visited

HashMap visited

fields

ArrayList fields

file

RandomAccessFileOrArray file

fieldTree

HashMap fieldTree

pageRefs

ArrayList pageRefs

pageDics

ArrayList pageDics

resources

PdfDictionary resources

form

PdfDictionary form

closing

boolean closing

widgetKeys

protected static final HashMap widgetKeys

fieldKeys

protected static final HashMap fieldKeys
Constructor Detail

PdfCopyFieldsImp

PdfCopyFieldsImp(OutputStream os)
           throws DocumentException,
                  IOException

PdfCopyFieldsImp

PdfCopyFieldsImp(OutputStream os,
                 char pdfVersion)
           throws DocumentException,
                  IOException
Method Detail

addDocument

void addDocument(PdfReader reader)
           throws DocumentException
Throws:
DocumentException

propagate

void propagate(PdfObject obj,
               PdfIndirectReference refo,
               boolean restricted)
         throws IOException
Throws:
IOException

branchForm

protected PdfArray branchForm(HashMap level,
                              PdfIndirectReference parent)
                       throws IOException
Throws:
IOException

createAcroForms

protected void createAcroForms()
                        throws IOException
Throws:
IOException

close

public void close()
Description copied from class: PdfWriter
Signals that the Document was closed and that no other Elements will be added.

The pages-tree is built and written to the outputstream. A Catalog is constructed, as well as an Info-object, the referencetable is composed and everything is written to the outputstream embedded in a Trailer.

Specified by:
close in interface DocListener
Overrides:
close in class PdfWriter

closeIt

protected void closeIt()
                throws DocumentException,
                       IOException
Throws:
DocumentException
IOException

addPageOffsetToField

void addPageOffsetToField(HashMap fd,
                          int pageOffset)

createWidgets

void createWidgets(ArrayList list,
                   AcroFields.Item item)

mergeField

void mergeField(String name,
                AcroFields.Item item)

mergeWithMaster

void mergeWithMaster(HashMap fd)

mergeFields

void mergeFields()

getPageReference

public PdfIndirectReference getPageReference(int page)
Description copied from class: PdfWriter
Gets a reference to a page existing or not. If the page does not exist yet the reference will be created in advance. If on closing the document, a page number greater than the total number of pages was requested, an exception is thrown.

Overrides:
getPageReference in class PdfWriter
Parameters:
page - the page number. The first page is 1
Returns:
the reference to the page

getCatalog

protected PdfDictionary getCatalog(PdfIndirectReference rootObj)
Overrides:
getCatalog in class PdfWriter

getNewReference

protected PdfIndirectReference getNewReference(PRIndirectReference ref)

getNewObjectNumber

protected int getNewObjectNumber(PdfReader reader,
                                 int number,
                                 int generation)
Overrides:
getNewObjectNumber in class PdfWriter

isVisited

protected boolean isVisited(PdfReader reader,
                            int number,
                            int generation)

isVisited

protected boolean isVisited(PRIndirectReference ref)

setVisited

protected boolean setVisited(PRIndirectReference ref)

isPage

protected boolean isPage(PRIndirectReference ref)

getReaderFile

RandomAccessFileOrArray getReaderFile(PdfReader reader)
Overrides:
getReaderFile in class PdfWriter