PDFium Delphi Component Docs

FPdfContentNormalize enota

Unit: FPdfContentNormalize
Normalizacija enega logičnega zaporedja vsebine strani PDF, ki ohranja sintakso, in robustno zaznavanje meja vgrajenih slik

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 združi podane tokove vsebine v vrstnem redu polja in rezultat tokenizira kot eno logično zaporedje vsebine strani

Ohranja dobesedne nize, šestnajstiške nize, imena, polja, slovarje, vsebino vgrajenih slik in neznane operaterje, pri čemer kanonizira ločevanje žetonov; komentarje je mogoče odstraniti, strukturno ravnovesje pa zahtevati

CollectPdfContentResourceUses zabeleži imena virov, ki jih porabijo operaterji besedila, XObject, stanja grafike, barvnega prostora, vzorca, senčenja, lastnosti označene vsebine in vgrajenih slik, pod osrednjim žetonskim proračunom

FindInlineImageBlock poišče popoln blok BI, ID in EI, ne da bi zaporedje bajtov EI znotraj podatkov vsebine slike obravnaval kot zaključevalnik

Constants

ConstantDescription
PdfContentNormalizeDefaultInputLimitPrivzeta logična omejitev vhoda na stran, 256 MiB
PdfContentNormalizeDefaultOutputLimitPrivzeta omejitev normaliziranega izhoda na stran, 256 MiB
PdfContentNormalizeDefaultTokenLimitPrivzeta omejitev na stran, 10000000 žetonov

Functions

FunctionDescription
TPdfContentNormalizeOptions.DefaultOmogoči odstranjevanje komentarjev, preverjanje ravnovesja, koristno stiskanje Flate in preskočenje nevarnih strani; prepove podpisane prepise in uveljavi tri privzete omejitve
NormalizePdfContentSequenceVrne normalizirane bajte in podrobno poročilo, ali False s stanjem napake in diagnostičnim besedilom
CollectPdfContentResourceUsesVrne vrsto vira in dekodirano ime PDF za vsak operater vsebine, ki porablja vire, ali False z diagnostičnim besedilom za napačno oblikovan vhod ali vhod čez proračun
FindInlineImageBlockVrne odmike za naslednji popoln blok vgrajene slike na StartPos ali za njim

Types

TypeDescription
TPdfContentNormalizeStatusIzid ali kategorija napake za normalizacijo zaporedij in dokumentov
TPdfContentNormalizeOptionsPravilnik normalizacije ter bajtne in žetonske omejitve na stran
TPdfContentNormalizeReportStanje, skupne bajti in strani, metrike tokov in žetonov, opažanja o sintaksi in diagnostično besedilo
TPdfContentResourceKindVrednosti virov pcrkFont, pcrkXObject, pcrkExtGState, pcrkColorSpace, pcrkPattern, pcrkShading in pcrkProperties
TPdfContentResourceUseDekodirano ime vira Name skupaj z njegovo vrsto Kind
TPdfContentResourceUsesDinamično polje zbranih rab virov v vrstnem redu vsebine

Status values

ValueMeaning
pcnsNotStartedPoročilo je bilo inicializirano, normalizacija pa se ni zaključila
pcnsCompletedNormalizacija se je uspešno zaključila
pcnsInputLimitExceededLogični vhod je presegel MaxInputBytesPerPage ali pa nastavljena omejitev ni bila pozitivna
pcnsOutputLimitExceededNormalizirani bajti bi presegli MaxOutputBytesPerPage
pcnsTokenLimitExceededZaporedje vsebine je preseglo MaxTokensPerPage
pcnsMalformedTokenŽetona vsebine PDF ni bilo mogoče popolnoma prebrati
pcnsUnresolvedInlineImagePopolne meje vsebine vgrajene slike ni bilo mogoče najti
pcnsUnbalancedStateZahtevano ravnovesje obsegov grafike, besedila, označene vsebine, združljivosti, polj ali slovarjev ni uspelo
pcnsUnsupportedFilterNormalizacija na ravni dokumenta je naletela na filter toka vsebine, ki ga ne zna dekodirati
pcnsEncryptedDocumentNormalizacija na ravni dokumenta je odklonila šifriran vhod
pcnsSignedDocumentNormalizacija na ravni dokumenta je brez overitve odklonila podpisan vhod
pcnsDocumentRewriteFailedObdajajoči prepis grafa objektov PDF ali njegovo preverjanje ni uspelo
pcnsResourceBudgetExceededRok proračuna TPdfParserResourceBudget na ravni procesa je potekel, preden se je normalizacija zaključila

Options

FieldDescription
RemoveCommentsIzpusti komentarje PDF, pri čemer ohrani zahtevane meje žetonov
RequireBalancedStateZahteva uravnotežene obsege q/Q, BT/ET, označene vsebine, združljivosti, polj in slovarjev
CompressOutputDovoli ovojnici na ravni dokumenta, da normaliziran tok strani stisne s Flate, kadar stiskanje zmanjša njegovo velikost
SkipUnsafePagesDovoli normalizaciji na ravni dokumenta, da po nevarnem ali nepodprtem rezultatu stran ohrani nespremenjeno, namesto da bi preklicala prepis dokumenta
AllowSignedDocumentIzrecno dovoli poln prepis podpisanega vhoda, kar razveljavi obstoječe bajtne obsege podpisov
MaxInputBytesPerPageNajveč skupnih bajtov čez podane tokove vsebine za eno stran
MaxOutputBytesPerPageNajveč bajtov, dovoljenih v normaliziranem zaporedju vsebine
MaxTokensPerPageNajvečje število žetonov, pregledanih za eno stran

Report fields

FieldDescription
StatusTrenutni TPdfContentNormalizeStatus
SourceByteCountSkupni izvorni bajti vsebine
OutputByteCountSkupni normalizirani ali prepisani izhodni bajti
PageCountStrani, ki jih je pregledala normalizacija na ravni dokumenta
NormalizedPageCountStrani, uspešno zamenjane z normalizirano vsebino
SkippedPageCountNevarne strani, ohranjene nespremenjene po pravilniku preskočenja
InputStreamCountIzvorni tokovi vsebine, združeni v logična zaporedja strani
OutputStreamCountIzdelani normalizirani tokovi vsebine
CoalescedArrayCountVečtokovna polja /Contents, zamenjana z enim normaliziranim tokom
TokenCountObdelani žetoni
CommentCountSrečani komentarji, ohranjeni ali odstranjeni
InlineImageCountOhranjeni popolni bloki vgrajenih slik
UnknownOperatorCountNeprepoznani operaterji, ohranjeni dobesedno
ErrorMessageDiagnostično besedilo prve napake

Inline-image offsets

See Also

FPdfCompress, TPdf.SaveAsNormalizedContent