Imagick PHP を使用した PDF ファイルのサムネイル作成スクリプトがあります。
PDFファイルの最初のページのサムネイルを作成します。
固定の高さと幅で問題なくサムネイルを作成できます
PDF ファイルの最初のページの高さと幅を取得し、それに応じてサムネイルの高さと幅を計算する必要があります。
画像からサムネイルを作成する必要がある場合、PHP で getimagesize 関数を使用できますが、PDF ファイルの最初のページの高さと幅を取得するような関数はありますか?
Imagick PHP を使用した PDF ファイルのサムネイル作成スクリプトがあります。
PDFファイルの最初のページのサムネイルを作成します。
固定の高さと幅で問題なくサムネイルを作成できます
PDF ファイルの最初のページの高さと幅を取得し、それに応じてサムネイルの高さと幅を計算する必要があります。
画像からサムネイルを作成する必要がある場合、PHP で getimagesize 関数を使用できますが、PDF ファイルの最初のページの高さと幅を取得するような関数はありますか?
ファイル名に追加することで、ImageMagick が読み取ることができるマルチページ ファイル形式の最初のページにアクセスでき[0]
ます。
これは、identify
このコマンドを使用して PDF の最初のページの幅と高さを出力するように要求できることを意味します。PHP 構文に変換するのに問題はありません。
identify -format "width: %W -- height: %H\n" some.pdf[0]
これにより、最初のページのMediaBoxの値が次の形式で出力されます。
width: 345 -- height: 777
これらの値の単位は PostScript ポイントです (ここで72 pt == 1 inch
)。もちろん、2 つの数値のみを指定したり、次のWxH
形式を使用したりするなど、必要に応じてコマンドを自由に変更できます。
identify -format "%W %H\n" some.pdf[0]
identify -format "%Wx%H\n" some.pdf[0]
ただし、次の事実に注意してください。
identify
は MediaBox 値のみを返します。他のボックスはサポートされていません。convert
、PDF ページの (場合によってはより大きな) MediaBox サイズを使用して画像をレンダリングします (したがって、その結果は、PDF ビューアーで表示されるものとは異なるように見えます)。pdfinfo -box -f 1 -l 1 some.pdf | grep -E '(Box:|rot:|size:)'
。(可能であればのPopplerバージョンを使用してください...)pdfinfo