Class Document

java.lang.Object
com.aowagie.text.Document
All Implemented Interfaces:
DocListener, ElementListener, EventListener
Direct Known Subclasses:
PdfDocument

public class Document extends Object implements DocListener
A generic Document class.

All kinds of Text-elements can be added to a HTMLDocument. The Document signals all the listeners when an element has been added.

Remark:

  1. Once a document is created you can add some meta information.
  2. You can also set the headers/footers.
  3. You have to open the document before you can write content.
  4. You can only write content (no more meta-formation!) once a document is opened.
  5. When you change the header/footer on a certain page, this will be effective starting on the next page.
  6. After closing the document, every listener (as well as its OutputStream) is closed too.
Example:
// creation of the document with a certain size and certain margins
 Document document = new Document(PageSize.A4, 50, 50, 50, 50);
  try {
   // creation of the different writers
   HtmlWriter.getInstance(document , System.out);
   PdfWriter.getInstance(document , new FileOutputStream("text.pdf"));
   // we add some meta information to the document
   document.addAuthor("Bruno Lowagie"); 
   document.addSubject("This is the result of a Test."); 
   // we open the document for writing
   document.open(); 
   document.add(new Paragraph("Hello world"));
  } catch(DocumentException de) {
   System.err.println(de.getMessage());
  }
  document.close();
 
  • Field Details

    • ITEXT

      private static final String ITEXT
      This constant may only be changed by Paulo Soares and/or Bruno Lowagie.
      Since:
      2.1.6
      See Also:
    • RELEASE

      private static final String RELEASE
      This constant may only be changed by Paulo Soares and/or Bruno Lowagie.
      Since:
      2.1.6
      See Also:
    • ITEXT_VERSION

      private static final String ITEXT_VERSION
      See Also:
    • compress

      public static boolean compress
      Allows the pdf documents to be produced without compression for debugging purposes.
    • plainRandomAccess

      public static boolean plainRandomAccess
      When true the file access is not done through a memory mapped file. Use it if the file is too big to be mapped in your address space.
    • wmfFontCorrection

      public static float wmfFontCorrection
      Scales the WMF font size. The default value is 0.86.
    • listeners

      private final ArrayList listeners
      The DocListener.
    • open

      protected boolean open
      Is the document open or not?
    • close

      protected boolean close
      Has the document already been closed?
    • pageSize

      protected Rectangle pageSize
      The size of the page.
    • marginLeft

      protected float marginLeft
      margin in x direction starting from the left
    • marginRight

      protected float marginRight
      margin in x direction starting from the right
    • marginTop

      protected float marginTop
      margin in y direction starting from the top
    • marginBottom

      protected float marginBottom
      margin in y direction starting from the bottom
    • marginMirroring

      protected boolean marginMirroring
      mirroring of the left/right margins
    • marginMirroringTopBottom

      protected boolean marginMirroringTopBottom
      mirroring of the top/bottom margins
      Since:
      2.1.6
    • javaScript_onLoad

      private String javaScript_onLoad
      Content of JavaScript onLoad function
    • javaScript_onUnLoad

      private String javaScript_onUnLoad
      Content of JavaScript onUnLoad function
    • htmlStyleClass

      private String htmlStyleClass
      Style class in HTML body tag
    • pageN

      protected int pageN
      Current pagenumber
    • chapternumber

      private int chapternumber
      This is a chapter number in case ChapterAutoNumber is used.
  • Constructor Details

    • Document

      public Document()
      Constructs a new Document -object.
    • Document

      public Document(Rectangle pageSize)
      Constructs a new Document -object.
      Parameters:
      pageSize - the pageSize
    • Document

      public Document(Rectangle pageSize, float marginLeft, float marginRight, float marginTop, float marginBottom)
      Constructs a new Document -object.
      Parameters:
      pageSize - the pageSize
      marginLeft - the margin on the left
      marginRight - the margin on the right
      marginTop - the margin on the top
      marginBottom - the margin on the bottom
  • Method Details

    • addDocListener

      public void addDocListener(DocListener listener)
      Adds a DocListener to the Document.
      Parameters:
      listener - the new DocListener.
    • removeDocListener

      public void removeDocListener(DocListener listener)
      Removes a DocListener from the Document.
      Parameters:
      listener - the DocListener that has to be removed.
    • add

      public boolean add(Element element) throws DocumentException
      Adds an Element to the Document.
      Specified by:
      add in interface ElementListener
      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.

      Once the document is opened, you can't write any Header- or Meta-information anymore. 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
    • setPageSize

      public boolean setPageSize(Rectangle pageSize)
      Sets the pagesize.
      Specified by:
      setPageSize in interface DocListener
      Parameters:
      pageSize - the new pagesize
      Returns:
      a boolean
    • setMargins

      public boolean setMargins(float marginLeft, float marginRight, float marginTop, float marginBottom)
      Sets the margins.
      Specified by:
      setMargins in interface DocListener
      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
    • newPage

      public boolean newPage()
      Signals that an new page has to be started.
      Specified by:
      newPage in interface DocListener
      Returns:
      true if the page was added, false if not.
    • setHeader

      public void setHeader(HeaderFooter header)
      Changes the header of this document.
      Specified by:
      setHeader in interface DocListener
      Parameters:
      header - the new header
    • resetHeader

      public void resetHeader()
      Resets the header of this document.
      Specified by:
      resetHeader in interface DocListener
    • setFooter

      public void setFooter(HeaderFooter footer)
      Changes the footer of this document.
      Specified by:
      setFooter in interface DocListener
      Parameters:
      footer - the new footer
    • resetFooter

      public void resetFooter()
      Resets the footer of this document.
      Specified by:
      resetFooter in interface DocListener
    • resetPageCount

      public void resetPageCount()
      Sets the page number to 0.
      Specified by:
      resetPageCount in interface DocListener
    • setPageCount

      public void setPageCount(int pageN)
      Sets the page number.
      Specified by:
      setPageCount in interface DocListener
      Parameters:
      pageN - the new page number
    • getPageNumber

      public int getPageNumber()
      Returns the current page number.
      Returns:
      the current page number
    • 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
    • addHeader

      public boolean addHeader(String name, String content)
      Adds a user defined header to the document.
      Parameters:
      name - the name of the header
      content - the content of the header
      Returns:
      true if successful, false otherwise
    • addTitle

      public boolean addTitle(String title)
      Adds the title to a Document.
      Parameters:
      title - the title
      Returns:
      true if successful, false otherwise
    • addSubject

      public boolean addSubject(String subject)
      Adds the subject to a Document.
      Parameters:
      subject - the subject
      Returns:
      true if successful, false otherwise
    • addKeywords

      public boolean addKeywords(String keywords)
      Adds the keywords to a Document.
      Parameters:
      keywords - adds the keywords to the document
      Returns:
      true if successful, false otherwise
    • addAuthor

      public boolean addAuthor(String author)
      Adds the author to a Document.
      Parameters:
      author - the name of the author
      Returns:
      true if successful, false otherwise
    • addCreator

      public boolean addCreator(String creator)
      Adds the creator to a Document.
      Parameters:
      creator - the name of the creator
      Returns:
      true if successful, false otherwise
    • addProducer

      public boolean addProducer()
      Adds the producer to a Document.
      Returns:
      true if successful, false otherwise
    • addCreationDate

      public boolean addCreationDate()
    • addCreationDate

      public boolean addCreationDate(Calendar globalDate)
      Adds the current date and time to a Document.
      Parameters:
      globalDate - Date
      Returns:
      true if successful, false otherwise
    • leftMargin

      public float leftMargin()
      Returns the left margin.
      Returns:
      the left margin
    • rightMargin

      public float rightMargin()
      Return the right margin.
      Returns:
      the right margin
    • topMargin

      public float topMargin()
      Returns the top margin.
      Returns:
      the top margin
    • bottomMargin

      public float bottomMargin()
      Returns the bottom margin.
      Returns:
      the bottom margin
    • left

      public float left()
      Returns the lower left x-coordinate.
      Returns:
      the lower left x-coordinate
    • right

      public float right()
      Returns the upper right x-coordinate.
      Returns:
      the upper right x-coordinate
    • top

      public float top()
      Returns the upper right y-coordinate.
      Returns:
      the upper right y-coordinate
    • bottom

      public float bottom()
      Returns the lower left y-coordinate.
      Returns:
      the lower left y-coordinate
    • left

      public float left(float margin)
      Returns the lower left x-coordinate considering a given margin.
      Parameters:
      margin - a margin
      Returns:
      the lower left x-coordinate
    • right

      public float right(float margin)
      Returns the upper right x-coordinate, considering a given margin.
      Parameters:
      margin - a margin
      Returns:
      the upper right x-coordinate
    • top

      public float top(float margin)
      Returns the upper right y-coordinate, considering a given margin.
      Parameters:
      margin - a margin
      Returns:
      the upper right y-coordinate
    • bottom

      public float bottom(float margin)
      Returns the lower left y-coordinate, considering a given margin.
      Parameters:
      margin - a margin
      Returns:
      the lower left y-coordinate
    • getPageSize

      public Rectangle getPageSize()
      Gets the pagesize.
      Returns:
      the page size
    • isOpen

      public boolean isOpen()
      Checks if the document is open.
      Returns:
      true if the document is open
    • getProduct

      public static final String getProduct()
      Gets the product name. This method may only be changed by Paulo Soares and/or Bruno Lowagie.
      Returns:
      the product name
      Since:
      2.1.6
    • getRelease

      public static final String getRelease()
      Gets the release number. This method may only be changed by Paulo Soares and/or Bruno Lowagie.
      Returns:
      the product name
      Since:
      2.1.6
    • getVersion

      public static final String getVersion()
      Gets the iText version. This method may only be changed by Paulo Soares and/or Bruno Lowagie.
      Returns:
      iText version
    • setJavaScript_onLoad

      public void setJavaScript_onLoad(String code)
      Adds a JavaScript onLoad function to the HTML body tag
      Parameters:
      code - the JavaScript code to be executed on load of the HTML page
    • getJavaScript_onLoad

      public String getJavaScript_onLoad()
      Gets the JavaScript onLoad command.
      Returns:
      the JavaScript onLoad command
    • setJavaScript_onUnLoad

      public void setJavaScript_onUnLoad(String code)
      Adds a JavaScript onUnLoad function to the HTML body tag
      Parameters:
      code - the JavaScript code to be executed on unload of the HTML page
    • getJavaScript_onUnLoad

      public String getJavaScript_onUnLoad()
      Gets the JavaScript onUnLoad command.
      Returns:
      the JavaScript onUnLoad command
    • setHtmlStyleClass

      public void setHtmlStyleClass(String htmlStyleClass)
      Adds a style class to the HTML body tag
      Parameters:
      htmlStyleClass - the style class for the HTML body tag
    • getHtmlStyleClass

      public String getHtmlStyleClass()
      Gets the style class of the HTML body tag
      Returns:
      the style class of the HTML body tag
    • setMarginMirroring

      public boolean setMarginMirroring(boolean marginMirroring)
      Set the margin mirroring. It will mirror right/left margins for odd/even pages.

      Note: it will not work with Table.

      Specified by:
      setMarginMirroring in interface DocListener
      Parameters:
      marginMirroring - true to mirror the margins
      Returns:
      always true
    • setMarginMirroringTopBottom

      public boolean setMarginMirroringTopBottom(boolean marginMirroringTopBottom)
      Set the margin mirroring. It will mirror top/bottom margins for odd/even pages.

      Note: it will not work with Table.

      Specified by:
      setMarginMirroringTopBottom in interface DocListener
      Parameters:
      marginMirroringTopBottom - true to mirror the margins
      Returns:
      always true
      Since:
      2.1.6
    • isMarginMirroring

      public boolean isMarginMirroring()
      Gets the margin mirroring flag.
      Returns:
      the margin mirroring flag