* @date 2017-01-03 * * @license LGPLv3 * @url * * PdfParser is a pdf library written in PHP, extraction oriented. * Copyright (C) 2017 - Sébastien MALOT * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. * If not, see . */ namespace Smalot\PdfParser; /** * Class Pages */ class Pages extends PDFObject { /** * @param bool $deep * * @todo Objects other than Pages or Page might need to be treated specifically in order to get Page objects out of them, * see https://github.com/smalot/pdfparser/issues/331 * * @return array */ public function getPages($deep = false) { if (!$this->has('Kids')) { return []; } if (!$deep) { return $this->get('Kids')->getContent(); } $kids = $this->get('Kids')->getContent(); $pages = []; foreach ($kids as $kid) { if ($kid instanceof self) { $pages = array_merge($pages, $kid->getPages(true)); } elseif ($kid instanceof Page) { $pages[] = $kid; } } return $pages; } }