Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help

       PDF::API3::Compat::API2::Basic::PDF::Objind - PDF indirect object
       reference. Also acts as an abstract superclass for all elements in a
       PDF file.

       Instance	variables differ from content variables	in that	they all start
       with a space.

	   For an object which is a reference to an object in some source,
	   this	holds the reference to the source object, so that should the
	   reference have to be	de-referenced, then we know where to go	and
	   get the info.

       objnum (R)
	   The object number in	the source (only for object references)

       objgen (R)
	   The object generation in the	source

	   There are other instance variables which are	used by	the parent for
	   file	control.

	   This	marks whether the object is in the free	list and available for
	   re-use as another object elsewhere in the file.

	   Holds a direct reference to the next	free object in the free	list.

       Creates a new indirect object

       Returns a Unique	id for this object, creating one if it didn't have one

       Releases	ALL of the memory used by this indirect	object,	and all	of its
       component/child objects.	 This method is	called automatically by
       '"PDF::API3::Compat::API2::Basic::PDF::File->release"' (so you don't
       have to call it yourself).

       NOTE, that it is	important that this method get called at some point
       prior to	the actual destruction of the object.  Internally, PDF files
       have an enormous	amount of cross-references and this causes circular
       references within our own internal data structures.  Calling
       '"release()"' forces these circular references to be cleaned up and the
       entire internal data structure purged.

       Developer note: As part of the brute-force cleanup done here, this
       method will throw a warning message whenever unexpected key values are
       found within the	"PDF::API3::Compat::API2::Basic::PDF::Objind" object.
       This is done to help ensure that	unexpected and unfreed values are
       brought to your attention, so you can bug us to keep the	module updated
       properly; otherwise the potential for memory leaks due to dangling
       circular	references will	exist.

       Returns the val of this object or reads the object and then returns its

       Note that all direct subclasses *must* make their own versions of this
       subroutine otherwise we could be	in for a very deep loop!

       Makes sure that the object is fully read	in, etc.

   $r->outobjdeep($fh, $pdf)
       If you really want to output this object, then you must need to read it
       first.  This also means that all	direct subclasses must subclass	this
       method or loop forever!

       If this is a full object	then outputs a reference to the	object,
       otherwise calls outobjdeep to output the	contents of the	object at this

       Abstract	superclass function filler. Returns self here but should
       return something	more useful if an array.

       Empties all content from	this object to free up memory or to be read to
       pass the	object into the	free list. Simplistically undefs all instance
       variables other than object number and generation.

       This merges content information into an object reference	place-holder.
       This occurs when	an object reference is read before the object
       definition and the information in the read data needs to	be merged into
       the object place-holder

       Returns whether this object is a	full object with its own object	number
       or whether it is	purely a sub-object. $pdf indicates which output file
       we are concerned	that the object	is an object in.

   $r->copy($pdf, $res)
       Returns a new copy of this object. The object is	assumed	to be some
       kind of associative array and the copy is a deep	copy for elements
       which are not PDF objects, according to $pdf, and shallow copy for
       those that are.	Notice that calling "copy" on an object	forces at
       least a one level copy even if it is a PDF object. The returned object
       loses its PDF object status though.

       If $res is defined then the copy	goes into that object rather than
       creating	a new one. It is up to the caller to bless $res, etc. Notice
       that elements from $self	are not	copied into $res if there is already
       an entry	for them existing in $res.

perl v5.32.1			PDF::API3::Compat::API2::Basic::PDF::Objind(3)


Want to link to this manual page? Use this URL:

home | help