SearchAndReplaceTextInContentEx

Udtræk, Unicode, indholdsredigering

Beskrivelse

Erstatter alle ikke-overlappende forekomster af forespørgslen i understøttet sidetekst med præcise kildebyte-intervaller og en verificeret skrifttypeafbildning

Metoden bevarer omgivende tekst, eksisterende numeriske TJ-justeringer og det oprindelige efterfølgende tekstanker; en tom erstatning sletter kun de matchede tegn

Alle valgte hit planlægges og skrives om, før sideindholdet skrives; tekst, der ikke kan repræsenteres, ufuldstændige skrifttypeafbildninger eller en ikke-understøttet kildelokation afviser anmodningen uden at erstatte nogen valgt sidetekst

Syntaks

Delphi

Function TPDFlib.SearchAndReplaceTextInContentEx(Const Query, Replacement: WideString; Options: TPDFlibSearchOptions; Const PageRange: WideString; ReplacementFontID: Integer): Integer;

DLL

Function DLSearchAndReplaceTextInContentEx(InstanceID: Integer; Query: PWideChar; Replacement: PWideChar; Options: Integer; PageRange: PWideChar; ReplacementFontID: Integer): Integer; Stdcall;
Function DLSearchAndReplaceTextInContentExA(InstanceID: Integer; Query: PAnsiChar; Replacement: PAnsiChar; Options: Integer; PageRange: PAnsiChar; ReplacementFontID: Integer): Integer; Stdcall;

ActiveX

Function PDFlib::SearchAndReplaceTextInContentEx(Query As String, Replacement As String, Options As Long, PageRange As String, ReplacementFontID As Long) As Long

Parametre

ReplacementFontID 0 bruger den oprindelige skrifttype; en positiv værdi skal identificere en skrifttype i det valgte dokument med en komplet verificeret kodning

En erstatningsskrifttype vælges kun til erstatningsforløb, og den oprindelige skrifttype gendannes før uændrede suffikser; metoden vælger eller installerer ikke automatisk en skrifttype

DLL og ActiveX bruger søgeflagene som bit 1, 2, 4, 8, 16, 32, 64 og 128 i enum-rækkefølgen; soAcrossLines er bit 16 og understøttes ikke her; ukendte bit afvises af disse facader

DLL A-inputstrenge bruger instansens konfiguration til ANSI-til-bred-konvertering; brug indgangspunktet for brede strenge for at sende Unicode uafhængigt af den konfiguration

Returværdier

Returnerer antallet af erstattede match eller 0 ved ingen match eller en afvist anmodning; undersøg GetLastUnicodeReplacementDiagnostics for at skelne udfaldene

LastErrorCode 535 rapporterer ugyldigt input eller indfangningsgrænser; 537 rapporterer ikke-understøttet redigering eller kodning; en gyldig søgning uden match rapporterer fuldført med replacedHits 0

Bemærkninger

Afbildninger kommer fra en fuldt understøttet ToUnicode CMap eller en verificeret simple-font-kodning, herunder understøttede Differences-glyfnavne; ingen konvertering via systemets kodepage eller gættede glyfkodninger bruges

Simple fonte skal levere gyldige PDF Widths, FirstChar og LastChar eller bruge et præcist standardnavn fra de fjorten Type1-skrifttyper uden Widths; fallback til systemskrifttyper og løs navnematching giver ikke adgang til præcis fremrykning

Navngiven UseCMap-arv, uopløste afbildninger, Type3-skrifttypefremrykninger, lodret skrivning, indlejret Form-tekst, syntetiske tegn, ActualText-erstatninger, transkodede strenge, match på tværs af lag og delvise ligaturgrupper rapporteres som ikke-understøttet

En komplet ligaturgruppe kan erstattes, når dens oprindelige bytes og Unicode-afbildning er verificeret; præfikser og suffikser forbliver i deres oprindelige skrifttype

Søgevalgmulighederne bevarer deres eksisterende betydning, herunder versal følsomhed, hele ord, jokertegn, diakritiske tegn, kanonisk ækvivalens og grafembegrænsninger; soAcrossLines og kald under et åbent API-scope afvises

Planlægningen understøtter op til 4096 match; indfangede kilde snapshots er begrænset til 64 MiB pr. strøm og 512 MiB i alt med 64 MiB indfangede kildelokationsposter; skrifttypeafbildningens parser anvender også afgrænsede token- og code-space-grænser med transaktionssummer på 262144 afbildninger og 8 Mi UTF-16-målenheder

Disse grænser begrænser bevarede indfangnings- og planlægningsdata; eksisterende sideindlæsning og gengivelse har deres egne allokeringer, så de er ingen garanti for det absolutte maksimale hukommelsesforbrug

Delte indholdsstrømme og ressourcedictionaryer kopieres for de valgte sider; dokumentvalget gendannes, og forældede tekstblok-lister skal udtrækkes igen efter en vellykket redigering

Denne handling ændrer aktivt sideindhold og er ikke en API til sikker sletning: frakoblede objekter eller tidligere inkrementelle revisioner kan stadig indeholde de oprindelige bytes

Se også

SearchAndReplaceTextInContent, SearchAndReplaceTextInContentEx, GetLastUnicodeReplacementDiagnostics, SearchText