pdf-finder/src/DocumentFactory.php

27 lines
500 B
PHP

<?php
use IO\Filesystem\File;
use IO\Shell\Pdfinfo;
use PDF\Document;
class DocumentFactory
{
private Pdfinfo $pdfinfo;
public function __construct(?Pdfinfo $pdfinfo = null)
{
$this->pdfinfo = $pdfinfo ?? new Pdfinfo();
}
public static function create(): self
{
return new self();
}
public function fromFile(File $file): Document
{
$metadata = $this->pdfinfo->getMetadata($file);
return new Document($file, $metadata);
}
}