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 LongParametre
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