PDFium Delphi Component Docs

FPdfContentNormalize-yksikkö

Yksikkö: FPdfContentNormalize
Syntaksin säilyttävä normalisointi yhdelle loogiselle PDF-sivun sisältösekvenssille ja kestävä inline-kuvien rajatunnistus

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 yhdistää toimitetut sisältövirrat taulukon järjestyksessä ja tokenisoi tuloksen yhtenä loogisena sivun sisältösekvenssinä

Se säilyttää literaalimerkkijonot, heksamerkkijonot, nimet, taulukot, sanakirjat, inline-kuvien hyötykuormat ja tuntemattomat operaattorit kanonistaakseen tokenien erottelun; kommentit voi poistaa ja rakenteellisen tasapainon voi vaatia

CollectPdfContentResourceUses kirjaa teksti-, XObject-, grafiikkatila-, väriavaruus-, kuvio-, varjostus-, merkityn sisällön ominaisuus- ja inline-kuvien operaattorien kuluttamat resurssinimet keskeisen tokenbudjetin alaisena

FindInlineImageBlock paikantaa täydellisen BI-, ID- ja EI-lohkon käsittelemättä kuvahyötykuormadatan sisällä olevaa EI-tavusekvenssiä päätteenä

Constants

ConstantDescription
PdfContentNormalizeDefaultInputLimitOletusarvoinen sivukohtainen looginen syöteraja 256 MiB
PdfContentNormalizeDefaultOutputLimitOletusarvoinen sivukohtainen normalisoitu tulosteraja 256 MiB
PdfContentNormalizeDefaultTokenLimitOletusarvoinen sivukohtainen raja 10000000 tokenia

Functions

FunctionDescription
TPdfContentNormalizeOptions.DefaultOttaa käyttöön kommenttien poiston, tasapainon validoinnin, hyödyllisen Flate-pakkauksen ja turvattomien sivujen ohituksen; kieltää allekirjoitettujen uudelleenkirjoitukset ja soveltaa kolmea oletusraja
NormalizePdfContentSequencePalauttaa normalisoidut tavut ja yksityiskohtaisen raportin tai False-arvon epäonnistumistilan ja diagnostiikkatekstin kanssa
CollectPdfContentResourceUsesPalauttaa resurssilajin ja puretun PDF-nimen jokaiselle resursseja kuluttavalle sisältöoperaattorille tai False-arvon diagnostiikkatekstillä epämuodostuneelle tai budjetin ylittävälle syötteelle
FindInlineImageBlockPalauttaa siirtymät seuraavalle täydelliselle inline-kuvan lohkolle kohdasta StartPos alkaen

Types

TypeDescription
TPdfContentNormalizeStatusLopputulos tai epäonnistumisluokka sekvenssin ja dokumentin normalisoinnille
TPdfContentNormalizeOptionsNormalisointikäytäntö sekä sivukohtaiset tavu- ja tokenrajat
TPdfContentNormalizeReportTila, tavu- ja sivusummat, virta- ja tokenmittarit, syntaksihavainnot ja diagnostiikkateksti
TPdfContentResourceKindResurssiarvot pcrkFont, pcrkXObject, pcrkExtGState, pcrkColorSpace, pcrkPattern, pcrkShading ja pcrkProperties
TPdfContentResourceUseYksi purettu resurssin Name-nimi yhdessä sen Kind-arvon kanssa
TPdfContentResourceUsesDynaaminen kerättyjen resurssikäyttöjen taulukko sisältöjärjestyksessä

Status values

ValueMeaning
pcnsNotStartedRaportti on alustettu, mutta normalisointi ei ole valmistunut
pcnsCompletedNormalisointi valmistui onnistuneesti
pcnsInputLimitExceededLooginen syöte ylitti MaxInputBytesPerPage-rajan tai määritetty raja ei ollut positiivinen
pcnsOutputLimitExceededNormalisoidut tavut ylittäisivät MaxOutputBytesPerPage-rajan
pcnsTokenLimitExceededSisältösekvenssi ylitti MaxTokensPerPage-rajan
pcnsMalformedTokenPDF-sisältötokenia ei voitu lukea kokonaan
pcnsUnresolvedInlineImageTäydellistä inline-kuvan hyötykuormarajaa ei löytynyt
pcnsUnbalancedStateVaadittu grafiikan, tekstin, merkityn sisällön, yhteensopivuuden, taulukon tai sanakirjan laajuustasapaino epäonnistui
pcnsUnsupportedFilterDokumenttitason normalisointi kohtasi sisältövirran suodattimen, jota se ei voi purkaa
pcnsEncryptedDocumentDokumenttitason normalisointi kieltäytyi salatusta syötteestä
pcnsSignedDocumentDokumenttitason normalisointi kieltäytyi allekirjoitetusta syötteestä ilman lupaa
pcnsDocumentRewriteFailedYmpäröivän PDF-objektigraafin uudelleenkirjoitus tai vahvistus epäonnistui
pcnsResourceBudgetExceededProsessinlaajuinen TPdfParserResourceBudget-määräaika tuli täyteen ennen kuin normalisointi valmistui

Options

FieldDescription
RemoveCommentsJättää PDF-kommentit pois säilyttäen vaaditut tokenrajat
RequireBalancedStateVaatii tasapainoiset q/Q-, BT/ET-, merkityn sisällön, yhteensopivuus-, taulukko- ja sanakirjalaajuudet
CompressOutputSallii dokumenttitason kääreen Flate-pakata normalisoidun sivuvirran, kun pakkaus pienentää sen kokoa
SkipUnsafePagesSallii dokumenttitason normalisoinnin säilyttää sivun muuttumattomana turvattoman tai tukemattoman tuloksen jälkeen dokumentin uudelleenkirjoituksen keskeyttämisen sijaan
AllowSignedDocumentSallii eksplisiittisesti allekirjoitetun syötteen täyden uudelleenkirjoituksen, mikä mitätöi olemassa olevat allekirjoitustavualueet
MaxInputBytesPerPageEnimmäiskokonaistavumäärä toimitetuissa sisältövirrissa yhdelle sivulle
MaxOutputBytesPerPageEnimmäistavumäärä, joka on sallittu normalisoidussa sisältösekvenssissä
MaxTokensPerPageEnimmäismäärä tarkasteltuja tokeneita yhdelle sivulle

Report fields

FieldDescription
StatusNykyinen TPdfContentNormalizeStatus
SourceByteCountLähtesisällön tavujen kokonaismäärä
OutputByteCountNormalisoitujen tai uudelleenkirjoitettujen tulostavujen kokonaismäärä
PageCountDokumenttitason normalisoinnin tarkastelemat sivut
NormalizedPageCountSivut, jotka korvattiin onnistuneesti normalisoidulla sisällöllä
SkippedPageCountTurvattomat sivut, jotka säilytettiin muuttumattomina ohituskäytännön nojalla
InputStreamCountLähtesisältövirrat, jotka yhdistettiin loogisiksi sivusekvensseiksi
OutputStreamCountTuotetut normalisoidut sisältövirrat
CoalescedArrayCountMonivirraiset /Contents-taulukot, jotka korvattiin yhdellä normalisoidulla virralla
TokenCountKäsitellyt tokenit
CommentCountKohdatut kommentit, olivatpa ne säilytettyjä tai poistettuja
InlineImageCountSäilytetyt täydelliset inline-kuvan lohkot
UnknownOperatorCountTunnistamattomat operaattorit säilytettyinä sellaisenaan
ErrorMessageDiagnostiikkateksti ensimmäisestä epäonnistumisesta

Inline-image offsets

See Also

FPdfCompress, TPdf.SaveAsNormalizedContent