2012年12月03日

PDFファイルのページサイズ(WidthやHeight)を取得する(PHP編その1)

今回は、PDFファイルの各ページの用紙サイズ(WidthやHeight)を取得する方法のご紹介です。今回のサンプル(PHP)の中心は、PageWithメソッド及びPageHeightメソッドになりますが、同メソッドについての詳細は、Quick PDF Libraryの体験版もしくは製品版のマニュアル(PDF)にも記載されていますが、こちらにも記載されています。

<?php

	error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

	//このPHPプログラムの文字コードはShift_JISで作成しています。

	$PDFLibrary= new COM("DebenuPDFLibraryAX0912.PDFLibrary");
	if(!$PDFLibrary){
		echo "COM error";
		exit;
	}

	if($PDFLibrary->UnlockKey("ライセンスキー") == 1){
		header("Content-type: text/html; charset=Shift_JIS");
		echo "License validation successful!";
		echo "
"; echo "Valid license key: "; echo $PDFLibrary->LicenseInfo; echo "

"; }else{ echo "License validation failed!"; echo "

"; exit; } $filename ="manual.pdf"; //Quick PDF LibraryでPDFファイルを取り扱うときは常にフルパスに $filename = realpath($filename); try{$result = $PDFLibrary->LoadFromFile($filename,"");}catch(Exception $error){ echo "can not load " . $filename . "
"; echo $error . "
"; $error_code=$PDFLibrary->LastErrorCode(); echo $error_code . "
"; exit; } if(!$result){ $error_code=$PDFLibrary->LastErrorCode(); echo "load error
". $error_code; exit; } //ミリメートルで表示したい場合などは、SetMeasurementUnitsメソッドを利用して //ください。デフォルトの単位は、ポイントにになっています。 //http://www.quickpdflibrary.com/help/quickpdf/SetMeasurementUnits.php //$PDFLibrary->SetMeasurementUnits(1); $pages = $PDFLibrary->PageCount(); for($i=1;$i<=$pages;$i++){ $PDFLibrary->SelectPage($i); $pdf_width = $PDFLibrary->PageWidth(); $pdf_height = $PDFLibrary->PageHeight(); //PDFファイルの場合、いろんな用紙サイズが混在できるのも大きな特長 //の一つですから、必ずしも全頁同じサイズとは限りません。 echo $i . "ページ目:" . $pdf_width."*". $pdf_height."
\n"; } $PDFLibrary = null; echo "finish"; ?>

ただし、上記の標準のメソッドでは正しく用紙サイズを取得できないPDFファイルがあります。そのための回避策をサポートに教えてもらったことがありますが、その方法についてはこちらを参照してください。



posted by PDF太郎 at 11:29| Comment(0) | TrackBack(0) | サンプルプログラム | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。