setasign\SetaPDF2\Merger\Collection

Folder Class representing a folder in a PDF Collection/Portfolio/Package.

File: /SetaPDF v2/Merger/Collection/Folder.php
Old class name (alias): \SetaPDF_Merger_Collection_Folder

Class hierarchy

Summary

Properties

$_collection

The collection instance.

$_dictionary

The folder dictionary.

$_indirectObject

The indirect object for this folder.


Methods

_getFiles()

protected Folder::_getFiles (
void
): array

Get all file specifications defined for this folder.

Exceptions

Throws \setasign\SetaPDF2\Core\SecHandler\Exception

Throws \setasign\SetaPDF2\Core\Type\Exception

Throws \setasign\SetaPDF2\Merger\Exception

addFile()

public Folder::addFile (
\SetaPDF_Core_Reader_ReaderInterface|string $pathOrReader,
string $filename,
?string $description = null,
array $fileStreamParams = array ( ),
?string $mimeType = null,
null|array|\SetaPDF_Merger_Collection_Item $collectionItem = null
): string

Add a file to this folder.

Parameters
$pathOrReader : \SetaPDF_Core_Reader_ReaderInterface|string

A reader instance or a path to a file.

$filename : string

The filename in UTF-8 encoding.

$description : ?string

The description of the file.

$fileStreamParams : array

See \SetaPDF_Core_EmbeddedFileStream::setParams() method.

$mimeType : ?string

The subtype of the embedded file. Shall conform to the MIME media type names defined in Internet RFC 2046

$collectionItem : null|array|\SetaPDF_Merger_Collection_Item

The data described by the collection schema.

Return Values

The name that was used to register the file specification in the embedded files name tree.

Exceptions

Throws \setasign\SetaPDF2\Core\DataStructure\Tree\KeyAlreadyExistsException

Throws \setasign\SetaPDF2\Core\SecHandler\Exception

Throws \setasign\SetaPDF2\Core\Type\Exception

Throws \setasign\SetaPDF2\Merger\Exception

addFolder()

public Folder::addFolder (
string $name,
?string $description = null,
?\DateTime $creationDate = null,
?\DateTime $modificationDate = null,
null|array|\SetaPDF_Merger_Collection_Item $collectionItem = null
): \SetaPDF_Merger_Collection_Folder

Add a subfolder to this folder.

Parameters
$name : string

The folder name.

$description : ?string

The description of the folder.

$creationDate : ?\DateTime

If null "now" will be used.

$modificationDate : ?\DateTime

If null "now" will be used.

$collectionItem : null|array|\SetaPDF_Merger_Collection_Item

The data described by the collection schema.

Exceptions

Throws \setasign\SetaPDF2\Core\Document\ObjectNotFoundException

Throws \setasign\SetaPDF2\Core\Exception

Throws \setasign\SetaPDF2\Core\Parser\Pdf\InvalidTokenException

Throws \setasign\SetaPDF2\Core\Reader\Exception

Throws \setasign\SetaPDF2\Core\Type\Exception

Throws \setasign\SetaPDF2\Core\Type\IndirectReference\Exception

Throws \setasign\SetaPDF2\Exception

Throws \setasign\SetaPDF2\NotImplementedException

Throws \setasign\SetaPDF2\Merger\Exception

Throws \Exception

delete()

public Folder::delete (
bool $recursive = true,
bool $removeEmbeddedFiles = true
): void

Delete this folder, subfolders and files.

Parameters
$recursive : bool

Whether folders should be deleted recursively or not.

$removeEmbeddedFiles : bool

Whether file specifications in this folder should be deleted or not.

Exceptions

Throws \setasign\SetaPDF2\Core\Document\ObjectNotFoundException

Throws \setasign\SetaPDF2\Core\Exception

Throws \setasign\SetaPDF2\Core\Parser\Pdf\InvalidTokenException

Throws \setasign\SetaPDF2\Core\Reader\Exception

Throws \setasign\SetaPDF2\Core\SecHandler\Exception

Throws \setasign\SetaPDF2\Core\Type\Exception

Throws \setasign\SetaPDF2\Core\Type\IndirectReference\Exception

Throws \setasign\SetaPDF2\Exception

Throws \setasign\SetaPDF2\NotImplementedException

Throws \setasign\SetaPDF2\Merger\Exception

deleteFile()

public Folder::deleteFile (
string $fileName
): bool

Delete a file within this folder.

Parameters
$fileName : string

The file name (in PDFDoc or UTF-16BE encoding) needs to be prefixed with the folder id.

Exceptions

Throws \setasign\SetaPDF2\Core\Type\Exception

Throws \setasign\SetaPDF2\Merger\Exception

getCollection()

Get the collection instance.

getCollectionItem()

Get the collection item data.

The data described by the collection schema.

getCreationDate()

public Folder::getCreationDate (
void
): ?\DateTime

Get the date the folder was first created.

getDescription()

public Folder::getDescription (
string $encoding = 'UTF-8'
): ?string

Get the descriptive text associated with the file specification.

Parameters
$encoding : string
 

getDictionary()

Get the dictionary for this folder.

getFile()

public Folder::getFile (
string $name
): false|\SetaPDF_Core_FileSpecification

Get a file in this folder by its name in the embedded files name tree.

Parameters
$name : string
 
Exceptions

Throws \setasign\SetaPDF2\Core\Type\Exception

Throws \setasign\SetaPDF2\Merger\Exception

getFiles()

Get all files in this folder.

Return Values

The keys are the names with which the files are registered in the embedded files name tree.

Exceptions

Throws \setasign\SetaPDF2\Core\SecHandler\Exception

Throws \setasign\SetaPDF2\Core\Type\Exception

Throws \setasign\SetaPDF2\Merger\Exception

getId()

public Folder::getId (
void
): int

Get and/or create the folder id.

Exceptions

Throws \setasign\SetaPDF2\Merger\Exception

Throws \setasign\SetaPDF2\Core\Type\Exception

getIndirectObject()

Get the indirect reference for this folder.

getModificationDate()

Get the date of the most recent change to immediate child files or folders of this folder.

getName()

public Folder::getName (
void
): string

Get the folder name.

Return Values

The folder name in UTF-8 encoding.

Exceptions

Throws \setasign\SetaPDF2\Core\Type\Exception

hasSubfolders()

public Folder::hasSubfolders (
void
): bool

Checks whether this folder has subfolders or not.

setCollectionItem()

Set the collection item data.

The data described by the collection schema.

Parameters
$item : ?\SetaPDF_Merger_Collection_Item
 

setCreationDate()

Set the date the folder was first created.

Parameters
$creationDate : ?\DateTime
 
Exceptions

Throws \Exception

setDescription()

public Folder::setDescription (
?string $desc,
string $encoding = 'UTF-8'
): \SetaPDF_Merger_Collection_Folder

Set the descriptive text associated with the file specification.

Parameters
$desc : ?string
 
$encoding : string
 

setModificationDate()

Set the date of the most recent change to immediate child files or folders of this folder.

Parameters
$creationDate : ?\DateTime
 
Exceptions

Throws \Exception

setName()

Set the folder name.

Parameters
$name : string

The folder name in UTF-8 encoding.