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 19:28:09 +03:00
|
|
|
$result['pdfurl'] = SITE.trim(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.'/';
|
|
|
|
|
$cachefile = $name.'-'.$page.'.pdf';
|
|
|
|
|
$fullcachefile = $cachedir.$cachefile;
|
|
|
|
|
|
|
|
|
|
if (!file_exists($fullcachefile)){
|
2020-05-21 20:12:39 +03:00
|
|
|
|
2020-05-21 21:17:48 +03:00
|
|
|
echo 'загрузка ...';
|
|
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|