PDFium Delphi Component Docs

FPdfContentNormalize egység

Egység: FPdfContentNormalize
Egy logikai PDF oldaltartalom-sorozat szintaxist megőrző normalizálása és robusztus beágyazott képhatár-felismerés

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

A NormalizePdfContentSequence a megadott tartalomfolyamokat tömbsorrendben fűzi össze, és az eredményt egyetlen logikai oldaltartalom-sorozatként tokenizálja

Megőrzi a literális sztringeket, a hexa sztringeket, a neveket, a tömböket, a szótárakat, a beágyazott képek tartalmát és az ismeretlen operátorokat, miközben kanonizálja a tokenek elválasztását; a megjegyzések eltávolíthatók és a szerkezeti kiegyensúlyozottság megkövetelhető

A CollectPdfContentResourceUses rögzíti a szöveg-, XObject-, grafikaállapot-, színtér-, minta-, árnyaló-, megjelölt-tartalom tulajdonság- és beágyazottkép-operátorok által felhasznált erőforrásneveket a közös tokenkeret alatt

A FindInlineImageBlock egy teljes BI, ID, EI blokkot keres fel anélkül, hogy a képtartalom adatain belüli EI bájtsorozatot lezárónak tekintené

Constants

ConstantDescription
PdfContentNormalizeDefaultInputLimitAlapértelmezett, oldalonkénti logikai bemeneti korlát: 256 MiB
PdfContentNormalizeDefaultOutputLimitAlapértelmezett, oldalonkénti normalizált kimeneti korlát: 256 MiB
PdfContentNormalizeDefaultTokenLimitAlapértelmezett, oldalonkénti korlát: 10000000 token

Functions

FunctionDescription
TPdfContentNormalizeOptions.DefaultEngedi a megjegyzések eltávolítását, a kiegyensúlyozottság ellenőrzését, a hasznos Flate tömörítést és a nem biztonságos oldalak kihagyását; aláírt átírásokat nem enged, és alkalmazza a három alapértelmezett korlátot
NormalizePdfContentSequenceNormalizált bájtokat és részletes jelentést ad vissza, hiba esetén False értéket hibaállapottal és diagnosztikai szöveggel
CollectPdfContentResourceUsesMinden erőforrást fogyasztó tartalomoperátorhoz visszaadja az erőforrás fajtáját és a dekódolt PDF-nevet, hibás vagy keretet túllépő bemenetnél pedig False értéket diagnosztikai szöveggel
FindInlineImageBlockA StartPos pozíción vagy utána lévő következő teljes beágyazottkép-blokk eltolásait adja vissza

Types

TypeDescription
TPdfContentNormalizeStatusKimenetel- vagy hibakategória sorozat- és dokumentumszintű normalizáláshoz
TPdfContentNormalizeOptionsNormalizálási szabályzat és oldalonkénti bájt- és tokenkorlátok
TPdfContentNormalizeReportÁllapot, bájt- és oldalszám-összesítők, folyam- és tokenmetrikák, szintaxis-megfigyelések és diagnosztikai szöveg
TPdfContentResourceKindErőforrásértékek: pcrkFont, pcrkXObject, pcrkExtGState, pcrkColorSpace, pcrkPattern, pcrkShading és pcrkProperties
TPdfContentResourceUseEgy dekódolt erőforrás Name neve a hozzá tartozó Kind fajtával
TPdfContentResourceUsesA gyűjtött erőforrásfelhasználások dinamikus tömbje tartalom-sorrendben

Állapotértékek

ValueMeaning
pcnsNotStartedA jelentés előkészítve, de a normalizálás nem fejeződött be
pcnsCompletedA normalizálás sikeresen befejeződött
pcnsInputLimitExceededA logikai bemenet túllépte a MaxInputBytesPerPage értéket, vagy egy beállított korlát nem volt pozitív
pcnsOutputLimitExceededA normalizált bájtok túllépnék a MaxOutputBytesPerPage értéket
pcnsTokenLimitExceededA tartalomsorozat túllépte a MaxTokensPerPage értéket
pcnsMalformedTokenEgy PDF tartalomtokent nem lehetett teljesen beolvasni
pcnsUnresolvedInlineImageEgy teljes beágyazottkép-tartalom határát nem lehetett megtalálni
pcnsUnbalancedStateA megkövetelt grafikai, szöveg-, megjelölt-tartalom-, kompatibilitási, tömb- vagy szótárhatály kiegyensúlyozottsága nem valósult meg
pcnsUnsupportedFilterA dokumentumszintű normalizálás olyan tartalomfolyam-szűrőbe ütközött, amelyet nem tud dekódolni
pcnsEncryptedDocumentA dokumentumszintű normalizálás elutasította a titkosított bemenetet
pcnsSignedDocumentA dokumentumszintű normalizálás felhatalmazás nélkül elutasította az aláírt bemenetet
pcnsDocumentRewriteFailedA befoglaló PDF objektumgráf-átírás vagy annak ellenőrzése hibázott
pcnsResourceBudgetExceededA folyamat-szintű TPdfParserResourceBudget határidő a normalizálás befejezése előtt lejárt

Beállítások

FieldDescription
RemoveCommentsEltávolítja a PDF-megjegyzéseket, miközben megtartja a szükséges tokenhatárokat
RequireBalancedStateMegköveteli a kiegyensúlyozott q/Q, BT/ET, megjelölt-tartalom, kompatibilitási, tömb- és szótárhatályokat
CompressOutputLehetővé teszi a dokumentumszintű csomagolónak, hogy Flate-tömörítést alkalmazzon egy normalizált oldal folyamán, ha a tömörítés csökkenti a méretét
SkipUnsafePagesLehetővé teszi a dokumentumszintű normalizálásnak, hogy nem biztonságos vagy nem támogatott eredmény után egy oldalt változatlanul megőrizzön, ahelyett hogy megszakítaná a dokumentum átírását
AllowSignedDocumentExplicit módon megengedi az aláírt bemenet teljes átírását, amely érvényteleníti a meglévő aláírásbájt-tartományokat
MaxInputBytesPerPageLegfeljebb ennyi bájt lehet összesen az egyik oldal megadott tartalomfolyamaiban
MaxOutputBytesPerPageA normalizált tartalomsorozatban megengedett legnagyobb bájtszám
MaxTokensPerPageEgy oldalhoz vizsgált tokenek legnagyobb száma

Jelentésmezők

FieldDescription
StatusAktuális TPdfContentNormalizeStatus érték
SourceByteCountÖsszes forrástartalombájt
OutputByteCountÖsszes normalizált vagy átírt kimeneti bájt
PageCountA dokumentumszintű normalizálás által vizsgált oldalak
NormalizedPageCountSikeresen normalizált tartalomra cserélt oldalak
SkippedPageCountNem biztonságos oldalak, amelyeket a kihagyási szabályzat változatlanul megőrzött
InputStreamCountLogikai oldal-sorozatokká fűzött forrástartalomfolyamok
OutputStreamCountElőállított normalizált tartalomfolyamok
CoalescedArrayCountTöbbfolyamos /Contents tömbök, amelyeket egyetlen normalizált folyam váltott fel
TokenCountFeldolgozott tokenek
CommentCountMegtalált megjegyzések, akár megtartva, akár eltávolítva
InlineImageCountMegőrzött teljes beágyazottkép-blokkok
UnknownOperatorCountIsmeretlen, szó szerint megőrzött operátorok
ErrorMessageAz első hiba diagnosztikai szövege

Beágyazottkép-eltolások

See Also

FPdfCompress, TPdf.SaveAsNormalizedContent