PDFium Delphi Component Docs

FPdfContentNormalize birimi

Unit: FPdfContentNormalize
Tek bir mantıksal PDF sayfa içerik dizisinin söz dizimi koruyan normalizasyonu ve sağlam satır içi görüntü sınır algılaması

Syntax

const
  PdfContentNormalizeDefaultInputLimit = Int64(256) * 1024 * 1024;
  PdfContentNormalizeDefaultOutputLimit = Int64(256) * 1024 * 1024;
  PdfContentNormalizeDefaultTokenLimit = 10000000;

function NormalizePdfContentSequence(const Streams: array of TBytes;
  const Options: TPdfContentNormalizeOptions; out Output: TBytes;
  out Report: TPdfContentNormalizeReport): Boolean;

function CollectPdfContentResourceUses(const Data: TBytes;
  out Uses: TPdfContentResourceUses;
  out ErrorText: string): Boolean;

function FindInlineImageBlock(const Data: TBytes; StartPos: Integer;
  out BiPos, IdPos, DataStart, EndImageStart: Integer): Boolean;

Description

NormalizePdfContentSequence, sağlanan içerik akışlarını dizi sırasına göre birleştirir ve sonucu tek bir mantıksal sayfa içerik dizisi olarak belirteçlere ayırır

Belirteç ayrımını kanonikleştirirken sabit dizeleri, hex dizelerini, adları, dizileri, sözlükleri, satır içi görüntü yüklerini ve bilinmeyen işleçleri korur; yorumlar kaldırılabilir ve yapısal denge zorunlu tutulabilir

CollectPdfContentResourceUses, merkezî belirteç bütçesi altında metin, XObject, grafik durumu, renk uzayı, desen, shading, işaretli içerik özelliği ve satır içi görüntü işleçlerinin tükettiği kaynak adlarını kaydeder

FindInlineImageBlock, görüntü yükü verisinin içindeki bir EI bayt dizisini sonlandırıcı saymadan eksiksiz bir BI, ID ve EI bloğu bulur

Constants

ConstantDescription
PdfContentNormalizeDefaultInputLimitSayfa başına 256 MiB varsayılan mantıksal girdi limiti
PdfContentNormalizeDefaultOutputLimitSayfa başına 256 MiB varsayılan normalize edilmiş çıktı limiti
PdfContentNormalizeDefaultTokenLimitSayfa başına 10000000 belirteç varsayılan limiti

Functions

FunctionDescription
TPdfContentNormalizeOptions.DefaultYorum kaldırmayı, denge doğrulamasını, yararlı Flate sıkıştırmayı ve güvenli olmayan sayfa atlamayı etkinleştirir; imzalı yeniden yazmalara izin vermez ve üç varsayılan limiti uygular
NormalizePdfContentSequenceNormalize edilmiş baytları ve ayrıntılı bir raporu döndürür; hata durumunda başarısızlık statüsü ve tanı metniyle False döndürür
CollectPdfContentResourceUsesKaynak tüketen her içerik işleci için kaynak türünü ve çözülmüş PDF adını döndürür; bozuk ya da bütçe aşımı girdi için tanı metniyle False döndürür
FindInlineImageBlockStartPos konumunda ya da sonrasında bulunan sonraki eksiksiz satır içi görüntü bloğu için uzaklıkları döndürür

Types

TypeDescription
TPdfContentNormalizeStatusDizi ve belge normalizasyonu için sonuç ya da hata kategorisi
TPdfContentNormalizeOptionsNormalizasyon ilkesi ve sayfa başına bayt ile belirteç limitleri
TPdfContentNormalizeReportDurum, bayt ve sayfa toplamları, akış ve belirteç metrikleri, söz dizimi gözlemleri ve tanı metni
TPdfContentResourceKindKaynak değerleri: pcrkFont, pcrkXObject, pcrkExtGState, pcrkColorSpace, pcrkPattern, pcrkShading ve pcrkProperties
TPdfContentResourceUseÇözülmüş bir kaynak Name değeri ile birlikte Kind türü
TPdfContentResourceUsesİçerik sırasına göre toplanan kaynak kullanımlarının dinamik dizisi

Status values

ValueMeaning
pcnsNotStartedRapor başlatıldı ama normalizasyon tamamlanmadı
pcnsCompletedNormalizasyon başarıyla tamamlandı
pcnsInputLimitExceededMantıksal girdi MaxInputBytesPerPage değerini aştı ya da yapılandırılmış bir limit pozitif değildi
pcnsOutputLimitExceededNormalize edilmiş baytlar MaxOutputBytesPerPage değerini aşacaktı
pcnsTokenLimitExceededİçerik dizisi MaxTokensPerPage değerini aştı
pcnsMalformedTokenBir PDF içerik belirteci eksiksiz okunamadı
pcnsUnresolvedInlineImageEksiksiz bir satır içi görüntü yükü sınırı bulunamadı
pcnsUnbalancedStateZorunlu grafik, metin, işaretli içerik, uyumluluk, dizi ya da sözlük kapsamı dengesi sağlanamadı
pcnsUnsupportedFilterBelge düzeyi normalizasyon, çözemediği bir içerik akışı filtresiyle karşılaştı
pcnsEncryptedDocumentBelge düzeyi normalizasyon, şifreli girdiyi reddetti
pcnsSignedDocumentBelge düzeyi normalizasyon, yetkilendirme olmadan imzalı girdiyi reddetti
pcnsDocumentRewriteFailedKapsayan PDF nesne grafiği yeniden yazması ya da doğrulaması başarısız oldu
pcnsResourceBudgetExceededNormalizasyon tamamlanmadan süreç geneli TPdfParserResourceBudget son tarihine ulaşıldı

Options

FieldDescription
RemoveCommentsGerekli belirteç sınırlarını koruyarak PDF yorumlarını çıkarır
RequireBalancedStateDengeli q/Q, BT/ET, işaretli içerik, uyumluluk, dizi ve sözlük kapsamları zorunlu kılar
CompressOutputSıkıştırma boyutu küçülttüğünde belge düzeyi sarmalayıcının normalize edilmiş bir sayfa akışını Flate ile sıkıştırmasına izin verir
SkipUnsafePagesBelge düzeyi normalizasyonun, güvenli olmayan ya da desteklenmeyen bir sonuç sonrasında belge yeniden yazmasından vazgeçmek yerine bir sayfayı değişmeden korumasına izin verir
AllowSignedDocumentİmzalı girdinin tamamen yeniden yazılmasını açıkça onaylar; bu, mevcut imza bayt aralıklarını geçersiz kılar
MaxInputBytesPerPageBir sayfa için sağlanan içerik akışlarında izin verilen en yüksek toplam bayt
MaxOutputBytesPerPageNormalize edilmiş içerik dizisinde izin verilen en yüksek bayt
MaxTokensPerPageBir sayfa için incelenecek en yüksek belirteç sayısı

Report fields

FieldDescription
StatusGüncel TPdfContentNormalizeStatus değeri
SourceByteCountToplam kaynak içerik baytı
OutputByteCountToplam normalize edilmiş ya da yeniden yazılmış çıktı baytı
PageCountBelge düzeyi normalizasyonun incelediği sayfa sayısı
NormalizedPageCountBaşarıyla normalize edilmiş içerikle değiştirilen sayfa sayısı
SkippedPageCountAtlama ilkesi altında değişmeden korunan güvenli olmayan sayfalar
InputStreamCountMantıksal sayfa dizilerine birleştirilen kaynak içerik akışı sayısı
OutputStreamCountÜretilen normalize edilmiş içerik akışı sayısı
CoalescedArrayCountTek bir normalize edilmiş akışla değiştirilen çok akışlı /Contents dizisi sayısı
TokenCountİşlenen belirteç sayısı
CommentCountKarşılaşılan yorum sayısı; korunsun ya da kaldırılsın
InlineImageCountKorunan eksiksiz satır içi görüntü bloğu sayısı
UnknownOperatorCountOlduğu gibi korunan tanınmayan işleç sayısı
ErrorMessageİlk hata için tanı metni

Inline-image offsets

See Also

FPdfCompress, TPdf.SaveAsNormalizedContent