Имам PDF файл. Бих искал да получа височината и ширината в мм.
Така че правя exec(pdfinfo ...); Имам този резултат:
Създател: Adobe InDesign CS5 (7.0.3) Продуцент: Acrobat Distiller 9.4.2 (Macintosh) Дата на създаване: Mon Jan 30 15:48:43 2012 ModDate: Fri Feb 10 10:35:05 2012 Маркирани: не Страници: 34 Шифровани: не Размер на страницата: 552.744 x 708.643 точки Размер на файла: 80724791 байта Оптимизиран: да PDF версия: 1.3
Имам скрипт, който извлича моята информация:
<?php
$output = shell_exec("pdfinfo ".$pdflivrelink);
$data = explode("\n", $output); //puts it into an array
for($c=0; $c < count($data); $c++) {
if(stristr($data[$c],"Pages") == true) {
$pagesnumber = trim(substr($data[$c],6));
}
if(stristr($data[$c],"Page size") == true) {
$pagesize_H = height_pdf(trim(substr($data[$c],9)));
}
if(stristr($data[$c],"Page size") == true) {
$pagesize_L = width_pdf(trim(substr($data[$c],9)));
}
}
function height_pdf($size){
$hauteur = round(substr($size,7,7)/2.83);
return $hauteur;
}
function width_pdf($size){
$largeur = round(substr($size,17,7)/2.83);
return $largeur;
} ?>
Всичко е наред, защото имам три числа с точка три числа (552.744 x 708.643). Но не знам защо някои PDF файлове имат тази информация:
Създател: pdftk 1.41 - www.pdftk.com Продуцент: iText 2.1.5 (от lowagie.com) Дата на създаване: Mon Feb 27 13:18:23 2012 ModDate: Mon Feb 27 16:26:12 2012 Маркирани: не Страници: 36 Шифровано: не Размер на страницата: 425,2 x 538,582 точки Размер на файла: 5097597 байта Оптимизирано: да PDF версия: 1.6
425.2 x 538.582 : Значи скриптът ми не работи!
Можеш ли да ми помогнеш? Благодаря много!
Тествам това:
$output = shell_exec("pdfinfo ".$pdflivrelink);
$data = explode("\n", $output); //puts it into an array
for($c=0; $c < count($data); $c++) {
if(stristr($data[$c],"Pages") == true) {
$pagesnumber = trim(substr($data[$c],6));
}
if(stristr($data[$c],"Page size") == true) {
echo $data[$c];
preg_match('/Page size: ([0-9]*\.?[0-9]?) x ([0-9]*\.?[0-9]?)/', $data[$c], $matchess);
$width = round($matchess[1]/2.83);
$height = round($matchess[2]/2.83);
}
}
echo "width = $width<br>height = $height";
резултатът е:
Размер на страницата: 425,2 x 538,582 точки ширина = 0 височина = 0