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()

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()

Clone the object recursively in the context of a document.

Parameters
$document : SetaPDF_Core_Document
 

detach()

Detach an observer from the object.

Implementation of the Observer Pattern.

Parameters
$observer : SplObserver
 

detachAll()

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()

Get the dictionary of this stream.

hasCryptFilter()

Checks if an Crypt is defined for this stream.

isObserved()

Checks if this object is observed.

notify()

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()

Set the PDF dictionary for this stream object.

Parameters
$value : SetaPDF_Core_Type_Dictionary

The value

Exceptions

Throws InvalidArgumentException

See

toPdfString()

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()

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()

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

Parameters
$pdfDocument : SetaPDF_Core_Document