Php / linux bir pdf düzeni modu (manzara veya portre) almak

3 Cevap php

PDF göz önüne alındığında, nasıl bir PHP lib veya linux komut satırı aracını kullanarak bir PDF (ya da göreli genişlik / yükseklik) düzen modunu alabilirim?

Kullanımı http://www.tecnick.com/public/code/cp%5Fdpage.php?aiocp%5Fdp=tcpdf yeni PDF'leri bu değişkeni ayarlamak, ancak kerpiç varolan PDF'leri için hangi.

Önce bir görüntüye dönüştürerek, ve bunun genişliğini ve yüksekliğini alma gibi - başka bir şekilde gs ps için PDF'leri dönüştürmek, ya da kullanarak düşündüm. Bu en iyi yolu nedir?

3 Cevap

I istimal solüsyon daha sonra resim boyutlarını alma, bir görüntüye ilk sayfasını yazdırmak için Ghostscript'i kullanabilirsiniz

$cmd = 'gs -dSAFER -dBATCH -dNOPAUSE -dFirstPage=1 -dLastPage=1 -sDEVICE=png16m -r400 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sOutputFile="'.$complete_file_path.'/p%d.png" "'.$complete_file_path.'/'.$this->pdffilename.'"';
        $result = $this->proc( $cmd );
        list($width, $height, $type, $attr) = getimagesize($complete_file_path.'/'.$pngfilename);

Sen her zaman tüm geri kalanı için aynı olması için ilk sayfadan sonuçları güvenemezsiniz. Ben bu varsayıma herhangi bir kod dayandırmak istediğiniz değil vahşi orada yeterince karışık formatı PDF gördüm.

Her sayfa için ortam boyutları (ve gömülü {Trim, Medya, Tarla, Taşma} kutular hatta her biri) belirlemek için daha güvenilir bir şekilde komut satırı aracı pdfinfo.exe ({[(0 dan xpdF araçların parçası) ]}). Sen "box" parametresi ile aracı çalıştırmak ve sayfa 8'de işlemeyi durdurmak için sayfa 3 at ve "-l 8" ile başlamak "-f 3" ile bunu söyleyebilirim.

Örnek çıktı:

C:\downloads>pdfinfo -box -f 1 -l 3 _IXUS_850IS_ADVCUG_EN.pdf
Creator:        FrameMaker 6.0
Producer:       Acrobat Distiller 5.0.5 (Windows)
CreationDate:   08/17/06 16:43:06
ModDate:        08/22/06 12:20:24
Tagged:         no
Pages:          146
Encrypted:      no
Page    1 size: 419.535 x 297.644 pts
Page    2 size: 297.646 x 419.524 pts
Page    3 size: 297.646 x 419.524 pts
Page    1 MediaBox:     0.00     0.00   595.00   842.00
Page    1 CropBox:     87.25   430.36   506.79   728.00
Page    1 BleedBox:    87.25   430.36   506.79   728.00
Page    1 TrimBox:     87.25   430.36   506.79   728.00
Page    1 ArtBox:      87.25   430.36   506.79   728.00
Page    2 MediaBox:     0.00     0.00   595.00   842.00
Page    2 CropBox:    148.17   210.76   445.81   630.28
Page    2 BleedBox:   148.17   210.76   445.81   630.28
Page    2 TrimBox:    148.17   210.76   445.81   630.28
Page    2 ArtBox:     148.17   210.76   445.81   630.28
Page    3 MediaBox:     0.00     0.00   595.00   842.00
Page    3 CropBox:    148.17   210.76   445.81   630.28
Page    3 BleedBox:   148.17   210.76   445.81   630.28
Page    3 TrimBox:    148.17   210.76   445.81   630.28
Page    3 ArtBox:     148.17   210.76   445.81   630.28
File size:      6888764 bytes
Optimized:      yes
PDF version:    1.4

Büyük silah, ancak diğer öneri. Ben pdf dosyalarını işlemek için iText Java kütüphanesi kullandık.

Bildiğim kadarıyla PDF düzen modunda, ya da boyutu gibi bir şey olduğunu biliyorum unutmayın. PDF basılacak sayfanın boyutunu tanımlayan bir medya kutusu vardır, her biri sayfaları topluluğudur. Tanımlı değilse Ancak bu özellik, önceki sayfalarından bir sayfa tarafından kalıtsal olabilir. Ayrıntılar için PDF reference bakın.