property Page: FPDF_PAGE; // read only
Page は、現在アクティブなページに結び付いた生の PDFium FPDF_PAGE handle を公開します。PageNumber を設定したとき、または Active が True に変わったときに handle が確保され、その page binding の寿命のあいだ保持されます。これは PDFium の C API が FPDFPage_*、FPDF_RenderPage*、annotation、content stream、form widget の呼び出しで期待するものと同じ handle です
この handle は Active が True で、有効な PageNumber が設定されている間だけ有効です。新しい PageNumber を代入する、ReloadPage を呼ぶ、または Active を False に戻すと、既存の handle は破棄され、最初の 2 つの場合は新しいものが作られます。この handle に対して FPDF_ClosePage を呼んではいけません。寿命はコンポーネントが管理し、自動で片付けます
Page は、PDFiumPas がまだラップしていない PDFium API を呼ぶときに役立つ上級プロパティです。たとえば、custom appearance stream の再生成、page object の bookkeeping、低レベルな text extraction の調整などです。ほとんどの呼び出し側は、handle を正しく管理してくれる高レベルプロパティ (PageWidth、PageHeight、RenderToBitmap、Annotation など) を使うほうがよいです
nil を返します。PDFium 関数へ渡す前に必ず確認してくださいDocument を所有するスレッドからのみ使ってくださいDocument と組み合わせてください。たとえば FPDFPage_Delete(Pdf.Document, Pdf.PageNumber - 1) です
var P: FPDF_PAGE;
Pdf1.Active := True;
Pdf1.PageNumber := 1;
P := Pdf1.Page;
if Assigned(P) then
ShowMessage(Format('%.0f x %.0f points',
[FPDF_GetPageWidth(P), FPDF_GetPageHeight(P)]));