SetaPDF_Core_Type_Stream Class representing a stream object

File: /SetaPDF/Core/Type/Stream.php

Class hierarchy

Implements

Summary

Properties

$_bypassSecHandler

protected boolean SetaPDF_Core_Type_Stream::$_bypassSecHandler = false

Flag saying that this stream should by pass the security handler

$_encrypted

protected boolean SetaPDF_Core_Type_Stream::$_encrypted = false

Flag saying that the stream is encrypted or not

$_filtered

protected boolean SetaPDF_Core_Type_Stream::$_filtered = false

Flag saying that the current stream data is filtered or not

$_observed

protected boolean SetaPDF_Core_Type_Stream::$_observed = false

Defines if this object is under observation

$_observers

protected array SetaPDF_Core_Type_Stream::$_observers = array()

This will be the PDF document or another value holding this one. Initially this will be an array.

$_owningObject

Needed if the stream is encrypted

$_stream

protected string SetaPDF_Core_Type_Stream::$_stream = ''

The stream content

$_unfilteredStream

The unfiltered stream content

$_value

The dictionary of the stream object


Static Methods

writePdfString()

static public void SetaPDF_Core_Type_AbstractType::writePdfString ( SetaPDF_Core_WriteInterface $writer, mixed $value )

Parses a php value to a pdf string and writes it into a writer.

PHP data type -> PDF data type

Null -> SetaPDF_Core_Type_Null

Boolean -> SetaPDF_Core_Type_Boolean

Integer/Double -> SetaPDF_Core_Type_Numeric

String -> SetaPDF_Core_Type_String or SetaPDF_Core_Type_Name(if the string starts with "/")

Indexed array -> SetaPDF_Core_Type_Array

Associative array -> SetaPDF_Core_Type_Dictionary

Parameters
$writer : SetaPDF_Core_WriteInterface
 
$value : mixed
 
Exceptions

Throws InvalidArgumentException


Methods

__construct()

public SetaPDF_Core_Type_Stream::__construct ( [ SetaPDF_Core_Type_Dictionary $value = null [, string $stream = '' [, SetaPDF_Core_Type_IndirectObject $owningObject = null ]]] )

The constructor.

Parameters
$value : SetaPDF_Core_Type_Dictionary
 
$stream : string
 
$owningObject : SetaPDF_Core_Type_IndirectObject
 

__sleep()

public array SetaPDF_Core_Type_AbstractType::__sleep ( void )

Implementation of __sleep.

We remove the observers from all elements because they will get read if they are waked up in an observed object.

_applyFilter()

protected mixed SetaPDF_Core_Type_Stream::_applyFilter ( string $stream [, boolean $encode = false [, SetaPDF_Core_Document $pdfDocument = null ]] )

Applies filter to the stream.

Parameters
$stream : string
 
$encode : boolean
 
$pdfDocument : SetaPDF_Core_Document

The document, on which the stream will get used. This value is only needed for a crypt filter (to be implemented!)

Exceptions

Throws SetaPDF_Exception, SetaPDF_Exception_NotImplemented

_decrypt()

protected string SetaPDF_Core_Type_Stream::_decrypt ( void )

Decrypts the stream (if needed).

_preProcess()

protected mixed|string SetaPDF_Core_Type_Stream::_preProcess ( SetaPDF_Core_Document $pdfDocument )

Pre-Process the stream for the output in a specific PDF document.

Parameters
$pdfDocument : SetaPDF_Core_Document
 

appendStream()

public void SetaPDF_Core_Type_Stream::appendStream ( string $bytes )

Append a stream to the existing stream.

Parameters
$bytes : string
 

attach()

public void SetaPDF_Core_Type_Stream::attach ( SplObserver $observer )

Add an observer to the object.

Implementation of the Observer Pattern.

Parameters
$observer : SplObserver
 

cleanUp()

public void SetaPDF_Core_Type_Stream::cleanUp ( void )

Release objects/memory.

See

clear()

public void SetaPDF_Core_Type_Stream::clear ( void )

Clears the stream.

deepClone()

public SetaPDF_Core_Type_AbstractType SetaPDF_Core_Type_Stream::deepClone ( SetaPDF_Core_Document $document )

Clone the object recursively in the context of a document.

Parameters
$document : SetaPDF_Core_Document
 

detach()

public void SetaPDF_Core_Type_AbstractType::detach ( SplObserver $observer )

Detach an observer from the object.

Implementation of the Observer Pattern.

Parameters
$observer : SplObserver
 

detachAll()

public void SetaPDF_Core_Type_AbstractType::detachAll ( void )

Detach all observers from this object.

Be careful with this method!!!

ensure()

public SetaPDF_Core_Type_AbstractType SetaPDF_Core_Type_AbstractType::ensure ( [ boolean|null $forceObservation = null ] )

Returns the main value.

This method is used for automatically resolving of indirect references.

Parameters
$forceObservation : boolean|null
 

getStream()

public string SetaPDF_Core_Type_Stream::getStream ( [ boolean $filtered = false ] )

Get the plain stream content.

Parameters
$filtered : boolean
 

getValue()

public SetaPDF_Core_Type_Dictionary SetaPDF_Core_Type_Stream::getValue ( void )

Get the dictionary of this stream.

hasCryptFilter()

public void SetaPDF_Core_Type_Stream::hasCryptFilter ( void )

Checks if an Crypt is defined for this stream.

isObserved()

public boolean SetaPDF_Core_Type_AbstractType::isObserved ( void )

Checks if this object is observed.

notify()

public void SetaPDF_Core_Type_AbstractType::notify ( void )

Notifies all attached observers.

Implementation of the Observer Pattern.

Has to be called by any method that changes a value.

setBypassSecHandler()

public void SetaPDF_Core_Type_Stream::setBypassSecHandler ( [ boolean $bypassSecHandler = true ] )

Set the bypass security handler flag.

Parameters
$bypassSecHandler : boolean
 

setStream()

public void SetaPDF_Core_Type_Stream::setStream ( string $stream )

Set the stream content.

Parameters
$stream : string
 

setValue()

public void SetaPDF_Core_Type_Stream::setValue ( SetaPDF_Core_Type_Dictionary $value )

Set the PDF dictionary for this stream object.

Parameters
$value : SetaPDF_Core_Type_Dictionary

The value

Exceptions

Throws InvalidArgumentException

See

toPdfString()

public string SetaPDF_Core_Type_Stream::toPdfString ( SetaPDF_Core_Document $pdfDocument )

Returns the type as a formatted PDF string.

Parameters
$pdfDocument : SetaPDF_Core_Document
 

toPhp()

public array SetaPDF_Core_Type_Stream::toPhp ( void )

Converts the PDF data type to a PHP data type and returns it.

unfilterStream()

public void SetaPDF_Core_Type_Stream::unfilterStream ( void )

Unfilter the stream.

update()

public void SetaPDF_Core_Type_Stream::update ( SplSubject $SplSubject )

Triggered if a value of this object is changed. Forward this to the object.

Parameters
$SplSubject : SplSubject
 

write()

public void SetaPDF_Core_Type_Stream::write ( string $bytes )

Alias for SetaPDF_Core_Type_Stream::appendStream.

Parameters
$bytes : string
 

writeTo()

public void SetaPDF_Core_Type_Stream::writeTo ( SetaPDF_Core_Document $pdfDocument )

Writes the type as a formatted PDF string to the document.

Parameters
$pdfDocument : SetaPDF_Core_Document