PDFium Delphi Component Docs

FlattenPage Yöntem

Component: TPdf  ·  Unit: PDFium
Geçerli sayfadaki ek açıklamaları ve form widget'larını kalıcı (düzenlenemez) sayfa içeriğine düzleştirir. nFlag, düzleştirme profilini seçer: ekran gösterimi için FLAT_NORMALDISPLAY (0) veya yazdırılmış çıktı için FLAT_PRINT (1). Döndürür: FLATTEN_SUCCESS, FLATTEN_NOTHINGTODO veya FLATTEN_FAIL değerlerinden biri. Doldurulmuş form değerlerini düzleştirirken önce GenerateFormAppearances çağırın.

Syntax

function FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): Integer;

nFlagInteger. Düzleştirme profilini seçer. Çıktıyı ekran görüntüleme için optimize etmek üzere FLAT_NORMALDISPLAY (0, varsayılan), baskı çıktısı için optimize etmek üzere FLAT_PRINT (1) geçirin

Return Value

One of three integer constants: FLATTEN_SUCCESS (1) — ek açıklamalar sayfa içeriğiyle başarıyla birleştirildi; FLATTEN_NOTHINGTODO (2) — sayfada düzleştirilecek ek açıklama veya widget yoktu; FLATTEN_FAIL (0) — the operation failed.

Description

FlattenPage, geçerli sayfadaki tüm annotation'ları ve AcroForm widget'larını kalıcı, düzenlenemez sayfa content stream'ine birleştirir. Düzleştikten sonra annotation'lar artık etkileşimli değildir — düzenlenemeyen, silinemeyen veya gönderilemeyen sıradan grafiklere dönüşürler. Doldurulmuş bir formun veya açıklamalı bir dokümanın görsel görünümünü koruyan "kilitli" bir PDF üretmenin standart tekniği budur

nFlag parametresi, widget'ları sayfa içeriğine çizerken kullanılan render profilini seçer. Ekranda görüntülenecek dokümanlar için FLAT_NORMALDISPLAY (0), baskıya gidecek dokümanlar için FLAT_PRINT (1) kullanın

Sayfa doldurulmuş form alanları içeriyorsa FlattenPage'ten önce GenerateFormAppearances'i çağırmalısınız. Appearance stream'leri yokken düzleştiricinin birleştirecek görsel temsili olmaz ve alan değerlerini çıktıdan sessizce atlar. Tek bir sayfa için önerilen sıra: FormField[] değerlerini ata → GenerateFormAppearances → FlattenPage → SaveAs

Bir dokümandaki her sayfayı tek çağrıda düzleştirmek için FlattenAllPages kullanın. Hataları saptamak için dönüş değerini FLATTEN_FAIL ile karşılaştırın; FLATTEN_NOTHINGTODO bir hata durumu değildir

Example

var
  Res: Integer;
begin
  Pdf1.PageIndex := 0;
  // Fill a form field, regenerate appearances, then flatten
  Pdf1.FormField[0] := 'John Smith';
  Pdf1.GenerateFormAppearances;
  Res := Pdf1.FlattenPage(FLAT_NORMALDISPLAY);
  if Res = FLATTEN_FAIL then
    ShowMessage('Flatten failed')
  else
    Pdf1.SaveAs('output_flat.pdf');
end;

See Also

FlattenAllPages, GenerateFormAppearances, SaveAs, Annotation