PDFium Delphi Component Docs

FlattenPageRotation Yöntem

Component: TPdf  ·  Unit: PDFium
Her sayfanın geçerli /Rotate değerini içerik akışına, sayfa kutularına ve ek açıklama dikdörtgenlerine işler, ardından /Rotate değerini 0'a sıfırlar; böylece görsel düzen, döndürme görüntüleme ipucuna güvenilmeden korunur

Syntax

function FlattenPageRotation(
  const Options : TPdfFlattenRotationOptions;
  out Report : TPdfFlattenRotationReport): Boolean; overload;

function FlattenPageRotation(
  const PageNumbers : array of Integer;
  const Options : TPdfFlattenRotationOptions;
  out Report : TPdfFlattenRotationReport): Boolean; overload;

Description

Birçok aşağı akış aracı (eski yazdırma hatları, görsel çıkarıcılar, OCR ön işlemcileri, raster dönüştürücüler) /Rotate sayfa girişini yok sayar ve döndürülmüş sayfaları yanlış yönde oluşturur. FlattenPageRotation, geçerli döndürmenin tersini sayfa içeriğine, ek açıklama dikdörtgenlerine ve sayfa kutularına uygular, ardından /Rotate değerini 0 yapar. Çağrıdan sonra görünen sayfa, döndürülmüş özgün hâliyle özdeşdir ancak artık görüntüleyicinin döndürme ipucunu uygulamasına gerek kalmaz

Tek argümanlı aşırı yükleme her sayfayı işler; PageNumbers aşırı yüklemesi sıfır tabanlı bir dizi kabul eder, böylece çağıranlar bir alt kümeyi düzleştirebilir. Halihazırda /Rotate=0 olan sayfalar Report.SkippedPageCount içinde sayılır ve dokunulmadan bırakılır

Dahili olarak her döndürülmüş sayfa; içerik için FPDFPage_CountObjects + FPDFPage_GetObject + FPDFPageObj_TransformF, ardından ek açıklamalar için FPDFPage_GetAnnot + FPDFAnnot_GetRect / FPDFAnnot_SetRect, sayfa kutuları için FPDFPage_SetMediaBox / FPDFPage_SetCropBox ve son olarak 0 değeriyle FPDFPage_SetRotation aşamalarından geçer. Matris, FPDFPage_GetMediaBox tarafından döndürülen döndürülmemiş MediaBox'tan türetilir

Parameters

Remarks

Example

var
  Options: TPdfFlattenRotationOptions;
  Report: TPdfFlattenRotationReport;
begin
  Pdf1.FileName := 'C:\Scanned.pdf';
  Pdf1.Active := True;
  Options := TPdfFlattenRotationOptions.Default;
  Pdf1.FlattenPageRotation(Options, Report);
  Pdf1.SaveAs('C:\Scanned_flat.pdf');
end;

See Also

PageRotation, TransformPageObject, SetPageBox