Class PdfDocument

    • Field Detail

      • writer

        protected PdfWriter writer
        The PdfWriter.
      • openMCDocument

        protected boolean openMCDocument
      • structParentIndices

        protected HashMap<Object,​int[]> structParentIndices
      • text

        protected PdfContentByte text
        This is the PdfContentByte object, containing the text.
      • graphics

        protected PdfContentByte graphics
        This is the PdfContentByte object, containing the borders and other Graphics.
      • leading

        protected float leading
        This represents the leading of the lines.
      • alignment

        protected int alignment
        This represents the current alignment of the PDF Elements.
      • currentHeight

        protected float currentHeight
        This is the current height of the document.
      • isSectionTitle

        protected boolean isSectionTitle
        Signals that onParagraph is valid (to avoid that a Chapter/Section title is treated as a Paragraph).
        Since:
        2.1.2
      • anchorAction

        protected PdfAction anchorAction
        The current active PdfAction when processing an Anchor.
      • tabSettings

        protected TabSettings tabSettings
        The current tab settings.
        Since:
        5.4.0
      • textEmptySize

        protected int textEmptySize
      • nextMarginLeft

        protected float nextMarginLeft
        margin in x direction starting from the left. Will be valid in the next page
      • nextMarginRight

        protected float nextMarginRight
        margin in x direction starting from the right. Will be valid in the next page
      • nextMarginTop

        protected float nextMarginTop
        margin in y direction starting from the top. Will be valid in the next page
      • nextMarginBottom

        protected float nextMarginBottom
        margin in y direction starting from the bottom. Will be valid in the next page
      • firstPageEvent

        protected boolean firstPageEvent
        Signals that OnOpenDocument should be called.
      • line

        protected PdfLine line
        The line that is currently being written.
      • lines

        protected ArrayList<PdfLine> lines
        The lines that are written until now.
      • lastElementType

        protected int lastElementType
        Holds the type of the last element, that has been added to the document.
      • rootOutline

        protected PdfOutline rootOutline
        This is the root outline of the document.
      • currentOutline

        protected PdfOutline currentOutline
        This is the current PdfOutline in the hierarchy of outlines.
      • viewerPreferences

        protected PdfViewerPreferencesImp viewerPreferences
        Contains the Viewer preferences of this PDF document.
      • SIXTEEN_DIGITS

        protected static final DecimalFormat SIXTEEN_DIGITS
      • openActionName

        protected String openActionName
      • openActionAction

        protected PdfAction openActionAction
      • nextPageSize

        protected Rectangle nextPageSize
        This is the size of the next page.
      • thisBoxSize

        protected HashMap<String,​PdfRectangle> thisBoxSize
        This is the size of the several boxes of the current Page.
      • boxSize

        protected HashMap<String,​PdfRectangle> boxSize
        This is the size of the several boxes that will be used in the next page.
      • pageResources

        protected com.itextpdf.text.pdf.PageResources pageResources
        This are the page resources of the current Page.
      • strictImageSequence

        protected boolean strictImageSequence
        Holds value of property strictImageSequence.
      • imageEnd

        protected float imageEnd
        This is the position where the image ends.
      • imageWait

        protected Image imageWait
        This is the image that could not be shown on a previous page.
    • Constructor Detail

      • PdfDocument

        public PdfDocument()
        Constructs a new PDF document.
    • Method Detail

      • addWriter

        public void addWriter​(PdfWriter writer)
                       throws DocumentException
        Adds a PdfWriter to the PdfDocument.
        Parameters:
        writer - the PdfWriter that writes everything what is added to this document to an outputstream.
        Throws:
        DocumentException - on error
      • getLeading

        public float getLeading()
        Getter for the current leading.
        Returns:
        the current leading
        Since:
        2.1.2
      • pushLeading

        protected void pushLeading()
        Save current @leading
      • popLeading

        protected void popLeading()
        Restore @leading from leadingStack
      • getTabSettings

        public TabSettings getTabSettings()
        Getter for the current tab stops.
        Since:
        5.4.0
      • setTabSettings

        public void setTabSettings​(TabSettings tabSettings)
        Setter for the current tab stops.
        Parameters:
        tabSettings - the current tab settings
        Since:
        5.4.0
      • add

        public boolean add​(Element element)
                    throws DocumentException
        Signals that an Element was added to the Document.
        Specified by:
        add in interface ElementListener
        Overrides:
        add in class Document
        Parameters:
        element - the element to add
        Returns:
        true if the element was added, false if not.
        Throws:
        DocumentException - when a document isn't open yet, or has been closed
      • open

        public void open()
        Opens the document.

        You have to open the document before you can begin to add content to the body of the document.

        Specified by:
        open in interface DocListener
        Overrides:
        open in class Document
      • close

        public void close()
        Closes the document. Once all the content has been written in the body, you have to close the body. After that nothing can be written to the body anymore.
        Specified by:
        close in interface DocListener
        Overrides:
        close in class Document
      • setXmpMetadata

        public void setXmpMetadata​(byte[] xmpMetadata)
                            throws IOException
        Use this method to set the XMP Metadata.
        Parameters:
        xmpMetadata - The xmpMetadata to set.
        Throws:
        IOException
      • newPage

        public boolean newPage()
        Makes a new page and sends it to the PdfWriter.
        Specified by:
        newPage in interface DocListener
        Overrides:
        newPage in class Document
        Returns:
        true if new page is added
      • setPageSize

        public boolean setPageSize​(Rectangle pageSize)
        Sets the pagesize.
        Specified by:
        setPageSize in interface DocListener
        Overrides:
        setPageSize in class Document
        Parameters:
        pageSize - the new pagesize
        Returns:
        true if the page size was set
      • setMargins

        public boolean setMargins​(float marginLeft,
                                  float marginRight,
                                  float marginTop,
                                  float marginBottom)
        Sets the margins.
        Specified by:
        setMargins in interface DocListener
        Overrides:
        setMargins in class Document
        Parameters:
        marginLeft - the margin on the left
        marginRight - the margin on the right
        marginTop - the margin on the top
        marginBottom - the margin on the bottom
        Returns:
        a boolean
      • setPageCount

        public void setPageCount​(int pageN)
        Sets the page number.
        Specified by:
        setPageCount in interface DocListener
        Overrides:
        setPageCount in class Document
        Parameters:
        pageN - the new page number
      • newLine

        protected void newLine()
                        throws DocumentException
        Adds the current line to the list of lines and also adds an empty line.
        Throws:
        DocumentException - on error
      • calculateLineHeight

        protected float calculateLineHeight()
        line.height() is usually the same as the leading We should take leading into account if it is not the same as the line.height
        Returns:
        float combined height of the line
        Since:
        5.5.1
      • carriageReturn

        protected void carriageReturn()
        If the current line is not empty or null, it is added to the arraylist of lines and a new empty line is added.
      • getVerticalPosition

        public float getVerticalPosition​(boolean ensureNewLine)
        Gets the current vertical page position.
        Parameters:
        ensureNewLine - Tells whether a new line shall be enforced. This may cause side effects for elements that do not terminate the lines they've started because those lines will get terminated.
        Returns:
        The current vertical page position.
      • ensureNewLine

        protected void ensureNewLine()
        Ensures that a new line has been started.
      • flushLines

        protected float flushLines()
                            throws DocumentException
        Writes all the lines to the text-object.
        Returns:
        the displacement that was caused
        Throws:
        DocumentException - on error
      • indentLeft

        protected float indentLeft()
        Gets the indentation on the left side.
        Returns:
        a margin
      • indentRight

        protected float indentRight()
        Gets the indentation on the right side.
        Returns:
        a margin
      • indentTop

        protected float indentTop()
        Gets the indentation on the top side.
        Returns:
        a margin
      • addSpacing

        protected void addSpacing​(float extraspace,
                                  float oldleading,
                                  Font f)
        Calls addSpacing(float, float, Font, boolean (false)).
      • addSpacing

        protected void addSpacing​(float extraspace,
                                  float oldleading,
                                  Font f,
                                  boolean spacingAfter)
        Adds extra spacing.
      • getRootOutline

        public PdfOutline getRootOutline()
        Gets the root outline. All the outlines must be created with a parent. The first level is created with this outline.
        Returns:
        the root outline
      • setCollection

        public void setCollection​(PdfCollection collection)
        Sets the collection dictionary.
        Parameters:
        collection - a dictionary of type PdfCollection
      • setNewPageSizeAndMargins

        protected void setNewPageSizeAndMargins()
      • clearTextWrap

        public void clearTextWrap()
        Method added by Pelikan Stephan
      • getStructParentIndex

        public int getStructParentIndex​(Object obj)
      • getNextMarkPoint

        public int getNextMarkPoint​(Object obj)
      • getStructParentIndexAndNextMarkPoint

        public int[] getStructParentIndexAndNextMarkPoint​(Object obj)
      • useExternalCache

        protected void useExternalCache​(TempFileCache externalCache)
      • flushStructureElementsOnNewPage

        protected void flushStructureElementsOnNewPage()