PDFium Component Docs

FPdfContentNormalize-enhet

Unit: FPdfContentNormalize
Syntaksbevarende normalisering av én logisk PDF-sideinnholdsekvens og robust deteksjon av grensene til innebygde bilder

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 slår sammen de oppgitte innholdsstrømmene i array-rekkefølge og tokeniserer resultatet som én logisk sideinnholdsekvens

Den bevarer literale strenger, heksstrenger, navn, arrays, ordbøker, nyttelastene til innebygde bilder og ukjente operatorer, mens tokenseparasjonen kanoniseres; kommentarer kan fjernes og strukturell balanse kan kreves

CollectPdfContentResourceUses registrerer ressursnavnene som brukes av tekst-, XObject-, grafikktilstands-, fargeroms-, mønster-, skyggeleggings-, merket-innhold-egenskaps- og innebygd bilde-operatorer under det sentrale tokenbudsjettet

FindInlineImageBlock lokaliserer en komplett BI-, ID- og EI-blokk uten å behandle en EI-bytesekvens inne i bildets nyttelastdata som terminatoren

Constants

ConstantDescription
PdfContentNormalizeDefaultInputLimitStandard logisk inndatagrense per side på 256 MiB
PdfContentNormalizeDefaultOutputLimitStandard grense for normalisert utdata per side på 256 MiB
PdfContentNormalizeDefaultTokenLimitStandard grense per side på 10000000 tokens

Functions

FunctionDescription
TPdfContentNormalizeOptions.DefaultAktiverer fjerning av kommentarer, balansevalidering, nyttig Flate-komprimering og hopping over utrygge sider; forbyr signerte omskrivinger og anvender de tre standardgrensene
NormalizePdfContentSequenceReturnerer normaliserte bytes og en detaljert rapport, eller False med feilstatus og diagnostisk tekst
CollectPdfContentResourceUsesReturnerer ressurskinden og det dekodede PDF-navnet for hver ressursbrukende innholdsoperator, eller False med diagnostisk tekst for feilformet eller over budsjett inndata
FindInlineImageBlockReturnerer offsettene til neste komplette blokk med innebygd bilde på eller etter StartPos

Types

TypeDescription
TPdfContentNormalizeStatusUtfalls- eller feilkategori for sekvens- og dokumentnormalisering
TPdfContentNormalizeOptionsNormaliseringspolicy og byte- og tokengrenser per side
TPdfContentNormalizeReportStatus, byte- og sidetotaler, strøm- og tokenmålinger, syntaksobservasjoner og diagnostisk tekst
TPdfContentResourceKindRessursverdier pcrkFont, pcrkXObject, pcrkExtGState, pcrkColorSpace, pcrkPattern, pcrkShading og pcrkProperties
TPdfContentResourceUseEtt dekodet ressurs-Name sammen med dets Kind
TPdfContentResourceUsesDynamisk array av innsamlede ressursbruk i innholdsrekkefølge

Status values

ValueMeaning
pcnsNotStartedRapporten er initialisert, men normaliseringen er ikke fullført
pcnsCompletedNormaliseringen fullførte med suksess
pcnsInputLimitExceededDet logiske inndataet overskred MaxInputBytesPerPage, eller en konfigurert grense var ikke positiv
pcnsOutputLimitExceededDe normaliserte bytene ville overskride MaxOutputBytesPerPage
pcnsTokenLimitExceededInnholdsekvensen overskred MaxTokensPerPage
pcnsMalformedTokenEt PDF-innholdstoken kunne ikke leses fullstendig
pcnsUnresolvedInlineImageGrensen til en komplett nyttelast for innebygd bilde kunne ikke finnes
pcnsUnbalancedStatePåkrevd balanse i grafikk-, tekst-, merket-innhold-, kompatibilitets-, array- eller ordbokomfang feilet
pcnsUnsupportedFilterDokumentnivå-normalisering støtte på et innholdsstrømfilter den ikke kan dekode
pcnsEncryptedDocumentDokumentnivå-normalisering nektet kryptert inndata
pcnsSignedDocumentDokumentnivå-normalisering nektet signert inndata uten autorisasjon
pcnsDocumentRewriteFailedDen omsluttende PDF-objektgraf-omskrivingen eller verifiseringen feilet
pcnsResourceBudgetExceededFristen til den prosessbrede TPdfParserResourceBudget ble nådd før normaliseringen var fullført

Options

FieldDescription
RemoveCommentsUtelater PDF-kommentarer mens påkrevde tokengrenser bevares
RequireBalancedStateKrever balanserte q/Q-, BT/ET-, merket-innhold-, kompatibilitets-, array- og ordbokomfang
CompressOutputTillater at dokumentnivå-wrapperen Flate-komprimerer en normalisert sidestrøm når komprimering reduserer størrelsen
SkipUnsafePagesTillater at dokumentnivå-normaliseringen bevarer en side uendret etter et utrygt eller ustøttet resultat, i stedet for å avbryte dokumentomskrivingen
AllowSignedDocumentTillater eksplisitt en fullstendig omskriving av signert inndata, noe som ugyldiggjør eksisterende signaturbyteområder
MaxInputBytesPerPageMaksimal total mengde bytes på tvers av de oppgitte innholdsstrømmene for én side
MaxOutputBytesPerPageMaksimalt antall bytes tillatt i den normaliserte innholdsekvensen
MaxTokensPerPageMaksimalt antall tokens som undersøkes for én side

Report fields

FieldDescription
StatusGjeldende TPdfContentNormalizeStatus
SourceByteCountTotalt antall kildeinnholdbytes
OutputByteCountTotalt antall normaliserte eller omskrevne utdatabytes
PageCountSider undersøkt av dokumentnivå-normaliseringen
NormalizedPageCountSider som med suksess ble erstattet med normalisert innhold
SkippedPageCountUtrygge sider bevart uendret under skip-policyen
InputStreamCountKildeinnholdsstrømmer slått sammen til logiske sidesekvenser
OutputStreamCountNormaliserte innholdsstrømmer produsert
CoalescedArrayCountFlere-strøm-/Contents-arrays erstattet av én enkelt normalisert strøm
TokenCountTokens behandlet
CommentCountKommentarer påtruffet, enten de er bevart eller fjernet
InlineImageCountKomplette blokker med innebygde bilder bevart
UnknownOperatorCountUkjente operatorer bevart ordrett
ErrorMessageDiagnostisk tekst for den første feilen

Inline-image offsets

See Also

FPdfCompress, TPdf.SaveAsNormalizedContent