Class PDFReference

  • All Implemented Interfaces:
    PDFWritable

    public class PDFReference
    extends java.lang.Object
    implements PDFWritable
    Class representing a PDF object reference. The object holds a soft reference to the actual PDF object so the garbage collector can free the object if it's not referenced elsewhere. The important thing about the class is the reference information to the actual PDF object in the PDF file.
    • Field Detail

      • generation

        private int generation
      • objReference

        private java.lang.ref.Reference<PDFObject> objReference
    • Constructor Detail

      • PDFReference

        public PDFReference​(PDFObject obj)
        Creates a new PDF reference.
        Parameters:
        obj - the object to be referenced
      • PDFReference

        public PDFReference​(java.lang.String ref)
        Creates a new PDF reference, but without a reference to the original object.
        Parameters:
        ref - an object reference
    • Method Detail

      • getObject

        public PDFObject getObject()
        Returns the PDF object
        Returns:
        the PDF object, or null if it has been released
      • getObjectNumber

        public PDFObjectNumber getObjectNumber()
        Returns the object number.
        Returns:
        the object number
      • getGeneration

        public int getGeneration()
        Returns the generation.
        Returns:
        the generation
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • outputInline

        public void outputInline​(java.io.OutputStream out,
                                 java.lang.StringBuilder textBuffer)
        Writes a "direct object" (inline object) representation to the stream. A text buffer is given for optimized encoding of text content.

        IMPORTANT: If you need to write out binary output, call PDFDocument.flushTextBuffer(StringBuilder, OutputStream) before writing any content to the OutputStream!

        Specified by:
        outputInline in interface PDFWritable
        Parameters:
        out - the OutputStream (for binary content)
        textBuffer - the text buffer for text content