Files
anpdf/app/routes/pdfserver.php

79 lines
1.5 KiB
PHP
Raw Normal View History

2020-05-08 21:23:23 +03:00
<?php
2020-05-09 17:19:32 +03:00
function pdfs_basename($pdf){
2020-05-08 21:23:23 +03:00
return basename($source, ".pdf");
}
function pdfs_count($pdf){
$result = exec("pdftk $pdf dump_data | grep NumberOfPages");
return trim(str_replace("NumberOfPages:", '', $result));
}
2020-05-09 17:19:32 +03:00
function pdfs_hash($pdf){
$basefile = basename($pdf, ".pdf");
return md5($basefile);
}
2020-05-08 21:23:23 +03:00
function pdfs_cachefile($pdf){
2020-05-09 17:19:32 +03:00
$name = pdfs_hash($pdf).'.pdf';
$cachefile = PDFDIR.$name;
$cacheurl = PDFPATH.$name;
2020-05-08 21:23:23 +03:00
if (!file_exists($cachefile)) {
if (copy($pdf, $cachefile))
return $cacheurl;
else
return false;
}
return $cacheurl;
}
function pdfs_init($source, $page = 1){
$result = array();
if (!file_exists($source))
return false;
2020-05-21 22:09:07 +03:00
$result['pdfurl'] = trim(SITE, '/').pdfs_cachefile($source); //полный файл на скачку
2020-05-08 21:23:23 +03:00
2020-05-09 17:19:32 +03:00
$name = pdfs_hash($source);
2020-05-08 21:23:23 +03:00
$cachedir = PGDIR.$name.'/';
2022-02-03 17:58:35 +03:00
//echo $cachedir;
2020-05-08 21:23:23 +03:00
$cachefile = $name.'-'.$page.'.pdf';
$fullcachefile = $cachedir.$cachefile;
if (!file_exists($fullcachefile)){
2020-05-21 20:12:39 +03:00
if (!file_exists($source))
return false;
2020-05-08 21:23:23 +03:00
if (!is_dir($cachedir))
mkdir($cachedir);
2020-05-09 17:19:32 +03:00
$cmd = "pdftk $source cat $page output $fullcachefile";
2020-05-08 21:23:23 +03:00
shell_exec($cmd);
}
if (file_exists($fullcachefile))
2020-05-09 17:19:32 +03:00
$result['pdfpgurl'] = PGPATH.$name.'/'.$cachefile;
2020-05-08 21:23:23 +03:00
else
return false;
return $result;
}