PDF 파일의 메타 데이터를 가져 오는 데 사용되었습니다. 나는 SMALOT pdf Parser와 TCPDF Parser를 사용하여 파일을 파싱했다.PHP PDF 파서 SMALOt 및 TCPDF 파서
나는 smalot pdf 구문을 사용하여 pdf 파일을 구문 분석 한 다음 TCPDF 파서 라이브러리를 사용하여 pdf 파일의 메타 데이터와 내용을 가져옵니다. 그 작은 PDF 파일에 대한 노력하지만 10 MB 또는 큰 PDF 파일 메모리 제한 exhuasted 및 실행 중지하고 어떤 오류가 발생하지 구문 분석. 1024M 메모리 제한을 설정합니다.
public function parseFile($filename)
{
return $this->parseContent($filename);
}
public function parseContent($filename)
{
// Create structure using TCPDF Parser.
ob_start();
$parser = new \TCPDF_PARSER(file_get_contents($filename));
list($xref, $data) = $parser->getParsedData();
// print_r($tcpdf->getParsedData());
// $parser = new \TCPDF_PARSER(ltrim($content));
list($xref, $data) = $parser->getParsedData();
unset($parser);
ob_end_clean();
if (isset($xref['trailer']['encrypt']))
{
throw new \Exception('Secured pdf file are currently not supported.');
}
if (empty($data))
{
throw new \Exception('Object list not found. Possible secured file.');
}
// Create destination object.
$document = new Document();
$this->objects = array();
foreach ($data as $id => $structure)
{
$this->parseObject($id, $structure, $document);
unset($data[$id]);
}
$document->setTrailer($this->parseTrailer($xref['trailer'], $document));
$document->setObjects($this->objects);
return $document;
}
질문/문제가 무엇입니까? 그 코드의 어느 부분이 의도 한대로 작동하지 않습니까? – cypherabe
나는 smalot pdf 구문을 사용하여 pdf 파일을 구문 분석 한 다음 TCPDF 파서 라이브러리를 사용하여 pdf 파일의 메타 데이터와 내용을 얻습니다. 그 작은 PDF 파일에 대한 노력하지만 10 MB 또는 큰 PDF 파일 메모리 제한 exhuasted 및 실행 중지하고 어떤 오류가 발생하지 구문 분석. 1024M 메모리 제한을 설정합니다. – ankita