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

FreeBSD Manual Pages


home | help
Text::PDF::Objind(3)  User Contributed Perl Documentation Text::PDF::Objind(3)

       Text::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
       '"Text::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	"Text::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($inpdf, $res, $unique, $outpdf, %opts)
       Returns a new copy of this object.

       $inpdf gives the	source pdf object for the object to be copied. $outpdf
       gives the target	pdf for	the object to be copied	into. $outpdf may be
       undefined. $res may be defined in which case the	object is copied into
       that object. $unique controls recursion.	if $unique is non zero then
       new objects are always created and recursion always occurs. But each
       time recursion occurs, $unique is incremented. Thus is $unique starts
       with a negative value it	is possible to stop the	recursion at a certain
       depth. Of course	for a positive value of	$unique, recursion always

       If $unique is 0 then recursion only occurs if $outpdf is	not the	same
       as $inpdf. In this case,	a cache	is held	in $outpdf to see whether a
       previous	copy of	the same object	has been made. If so, then that
       previous	copy is	returned otherwise a new object	is made	and added to
       the cache and recursed into.

       Objects that are	full objects with their	own id numbers are
       correspondingly full objects in the output pdf.

perl v5.32.1			  2016-08-04		  Text::PDF::Objind(3)


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

home | help