public function getPageInfo() { $output = array(); // Get number and sizes of all pages. exec(select_pdfinfo() . ' -f 1 -l 100000 "' . $this->pdf_full_path . '"', $output); foreach ($output as $line) { if (strpos($line, "Pages:") === 0) { $page_number = intval(substr($line, 6)); } elseif (strpos($line, "Page") === 0 && strpos($line, "size:") !== FALSE) { preg_match("/(size: )(\\d+\\.?\\d+)( x )(\\d+\\.?\\d+)( pts)/", $line, $match); $page_sizes[] = array(round($this->page_resolution * $match[2] / 72), round($this->page_resolution * $match[4] / 72)); } } if (empty($page_number)) { displayError('Pdfinfo: malformed PDF.'); } if ($page_number !== count($page_sizes)) { displayError('Pdfinfo: malformed PDF.'); } return array('page_number' => $page_number, 'page_sizes' => $page_sizes); }
if (isset($_GET['page'])) { $page = intval($_GET['page']); } else { $userID = intval($_SESSION['user_id']); database_connect($database_path, 'history'); $result = $dbHandle->query("SELECT page FROM bookmarks WHERE userID={$userID} AND file='{$file}'"); if (is_object($result)) { $page = $result->fetchColumn(); } if (!$page) { $page = 1; } $dbHandle = null; } if (file_exists($pdf_path . DIRECTORY_SEPARATOR . $file)) { exec(select_pdfinfo() . '"' . $pdf_path . DIRECTORY_SEPARATOR . $file . '"', $output); $output = implode('#', $output); $page_number = preg_replace('/(.*#Pages:\\s+)(\\d+)(#.*)/', '$2', $output); if ($page > $page_number) { $page = $page_number; } if (empty($page_number)) { die('Error! Program pdfinfo not functional.'); } } if (isset($_GET['renderpdf'])) { if (file_exists($pdf_path . DIRECTORY_SEPARATOR . $file)) { if (!file_exists($png_path . DIRECTORY_SEPARATOR . $file . '.' . $page . '.png') || filemtime($png_path . DIRECTORY_SEPARATOR . $file . '.' . $page . '.png') < filemtime($pdf_path . DIRECTORY_SEPARATOR . $file)) { exec(select_ghostscript() . " -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m -r150 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -dDOINTERPOLATE -dFirstPage=" . $page . " -dLastPage=" . $page . " -o \"" . $png_path . DIRECTORY_SEPARATOR . $file . "." . $page . ".png\" \"" . $pdf_path . DIRECTORY_SEPARATOR . $file . "\""); if (file_exists($png_path . DIRECTORY_SEPARATOR . $file . '.' . $page . '.png')) { $img_size_array = getimagesize('library' . DIRECTORY_SEPARATOR . 'pngs' . DIRECTORY_SEPARATOR . $file . "." . $page . ".png");
<?php if (!empty($_GET['file'])) { include_once 'data.php'; include_once 'functions.php'; session_write_close(); $path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'library'; $file = preg_replace('/[^\\d\\.pdf]/', '', $_GET['file']); $file_name = $path . DIRECTORY_SEPARATOR . $file; if (is_readable($file_name)) { // get page size exec(select_pdfinfo() . '"' . $file_name . '"', $output); foreach ($output as $row) { if (strpos($row, 'Page size: ') === 0) { $row = str_replace('Page size: ', '', $row); $row = str_replace(' pts', '', $row); $arr = explode(' x ', $row); $w = round($arr[0]); $h = round($arr[1]); break; } } //ADD WATERMARKS if ($_SESSION['watermarks'] == 'nocopy') { $temp_file = $temp_dir . DIRECTORY_SEPARATOR . $file . '-nocopy.pdf'; if (!file_exists($temp_file) || filemtime($temp_file) < filemtime($file_name)) { system(select_pdftk() . '"' . $file_name . '" multistamp "' . dirname(__FILE__) . DIRECTORY_SEPARATOR . 'nocopy.pdf' . '" output "' . $temp_file . '"', $ret); } $file_name = $temp_file; } elseif ($_SESSION['watermarks'] == 'confidential') { $temp_file = $temp_dir . DIRECTORY_SEPARATOR . $file . '-confidential.pdf';
<?php include_once 'data.php'; include_once 'functions.php'; session_write_close(); if ($_GET['binary'] == 'pdftotext') { exec(select_pdftotext() . ' test.pdf "' . $temp_dir . DIRECTORY_SEPARATOR . 'test.txt"'); if (file_exists($temp_dir . DIRECTORY_SEPARATOR . 'test.txt')) { unlink($temp_dir . DIRECTORY_SEPARATOR . 'test.txt'); die('OK'); } else { die; } } elseif ($_GET['binary'] == 'pdfinfo') { exec(select_pdfinfo() . ' test.pdf', $output); if (!empty($output)) { die('OK'); } else { die; } } elseif ($_GET['binary'] == 'pdftohtml') { exec(select_pdftohtml() . ' -q -noframes -enc UTF-8 -nomerge -c -xml test.pdf "' . $temp_dir . DIRECTORY_SEPARATOR . 'test"'); if (file_exists($temp_dir . DIRECTORY_SEPARATOR . 'test.xml')) { unlink($temp_dir . DIRECTORY_SEPARATOR . 'test.xml'); die('OK'); } else { die; } } elseif ($_GET['binary'] == 'ghostscript') { exec(select_ghostscript() . ' -sDEVICE=png16m -r15 -dTextAlphaBits=1 -dGraphicsAlphaBits=1 -dFirstPage=1 -dLastPage=1 -o "' . $temp_dir . DIRECTORY_SEPARATOR . 'test.png" test.pdf'); if (file_exists($temp_dir . DIRECTORY_SEPARATOR . 'test.png')) {