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);
 }
Exemple #2
0
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");
Exemple #3
0
<?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';
Exemple #4
0
<?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')) {