LEADTOOLS PDF

フレームを表示

PDFファイルには、以下のプロパティがあります:

たとえば、典型的なPDFドキュメントはページの幅が612単位、高さが792単位です。それゆえに:

以下のimageは、この一般的なPDF文書とオブジェクト場所を示します:

PDF文書がボックスが評価するメディアボックスと収穫を格納することに注意すべきです。クロップボックスがその可視領域である間、メディアボックスはページの総サイズです。PDFビューワは通常、クロップボックスの外側にあるオブジェクトは表示せず、ページのサイズとしてクロップボックスの幅と高さを報告します。Adobe Acrobat ReaderなどのPDFビューアが上記のドキュメントを開くように;それは、たとえ10.5"×13"のメディアボックスサイズとしてもページサイズを8.5"×11"であると報告します。オブジェクトの位置は、クロップボックスの値にかかわらず、常にメディアボックスの位置(常に0, 0)からの距離として計算されます。ただし、ほとんどのPDFドキュメントには同じ値のメディアボックスとクロップボックスが含まれているため、これら2つの値は同じになります。

PDF文書が画面に与えられるとき、ピクセルなどの物理的な値が通常必要です。論理的にから物理的な単位まで変換するために、解像度は提供されなければなりません。解像度は、物理的な値に論理的な変換とき、使うインチにつき点(ピクセル)の値です。上記の例では、解像度として150を使用した場合、ピクセル単位のページサイズは1275×1650になります。これは8.5×11インチに150を乗算することによって得られます。また、System.DrawingやSystem.Windows.Mediaなどのほとんどのレンダリングシステムはウィンドウの左上隅を原点とするため、PDF単位(論理単位)からピクセル(物理単位)に変換するときは左上座標系で変換値を取得することが望まれます。

PDF文書は、解像度を格納しません;ドキュメントをスクリーン上にするとき、使う値を指定することは、ユーザー次第です。レンダリング時に高い解像度を指定すると、細部の明瞭度が向上しますが、システムリソースの消費量も多くなります。一般的な解像度値は、72、96、150、200、300と600です。

上のimageで示されるドキュメントが150の解像度でロードされるならば、オブジェクトは以下のピクセル値に位置します:

ピクセルX = 600px(288×72は、150で乗算しました)

ピクセルY = 750px(ページ高さ ― 432×150で乗算される72)

Yの値を計算するとき、ページの高さから元のYの値を減算していることに注意してください。これにより、結果が左下座標系から左上座標系に変換されます。

Leadtools.PdfLeadtools.Pdf.PDFFileまたはLeadtools.Pdf.PDFDocumentクラスを使用するとき、LEADTOOLSは任意の変換なしで現状のままPDF文書から値を読みます。以下の値は、読込みPDF単位(1/72のインチ)です:

PDFDocument.Resolutionプロパティは、ピクセルまたはインチと後ろにPDF単位(論理的な)を変換するとき、使う解像度値を格納します。この解像度は、必要に応じていつでも変更されることができます。

ヘルパーメソッドPDFDocumentPage.ConvertPointPDFDocumentPage.ConvertRectは、任意の単位からもう一つまで変換するのに用いられることができます。これらのメソッドは、ソースとデスティネーション単位のためにLeadtools.Pdf.PDFCoordinateType列挙体メンバを受け取ります。

以下は、PDF単位からインチとピクセルにポイント(sourcePointな)を変換します:


             PDFPoint destPointInches = pdfDocumentPage.ConvertPoint(PDFCoordinateType.Pdf, PDFCoordinateType.Inch, sourcePoint);
             PDFPoint destPointPixels = pdfDocumentPage.ConvertPoint(PDFCoordinateType.Pdf, PDFCoordinateType.Pixel, sourcePoint);
             

PDF単位からピクセルとインチに長方形(sourceRect)を変換するために、以下を使います:


             PDFRect destRectInches = pdfDocumentPage.ConvertRect(PDFCoordinateType.Pdf, PDFCoordinateType.Inch, sourceRect);
             PDFRect destRectPixels = pdfDocumentPage.ConvertRect(PDFCoordinateType.Pdf, PDFCoordinateType.Pixel, sourceRect);
             

PDF単位へ値を変換するために、以下を使います:


             sourcePoint = pdfDocumentPage.ConvertPoint(PDFCoordinateType.Inch, PDFCoordinateType.Pdf, destPointInches);
             sourcePoint = pdfDocumentPage.ConvertPoint(PDFCoordinateType.Pixel, PDFCoordinateType.Pdf, destPointPixels);
             sourceRect = pdfDocumentPage.ConvertRect(PDFCoordinateType.Inch, PDFCoordinateType.Pdf, destRectInches);
             sourceRect = pdfDocumentPage.ConvertRect(PDFCoordinateType.Pixel, PDFCoordinateType.Pdf, destRectPixels);
             

ピクセルから、そして、それに変換するとき、Leadtools.Pdf.PDFDocumentPageオブジェクトが常にオーナーPDFDocument.Resolutionの値を使う点に注意します。

参照

参照

概要
ご使用にあたって(サンプルプログラムへのガイド)
LEADTOOLS PDFアセンブリ
LEADTOOLS PDFによるプログラミング