THotPDF.PreviewLoadedPageTextReplacement Method
Förbereder ersättningstext med inbäddade Unicode-typsnitt, mäter varje träff och returnerar en granskningsbar plan utan att ändra det inlästa dokumentet
function PreviewLoadedPageTextReplacement(PageIndex: Integer;
const Needle, Replacement: UnicodeString; MatchCase: Boolean;
const Options: THPDFLoadedTextReplacementOptions;
out Plan: THPDFLoadedTextReplacementPlan): Boolean;
Alternativ och resultat
THPDFLoadedTextReplacementOptions.Default använder Arial, träffens ursprungliga teckenstorlek, dess uppmätta bredd och en höjd på 1,25 gånger den storleken, med atomär avvisning aktiverad
Appearance väljer typsnitt, stil, färg, justering och utfyllnad; UseMatchFontSize=False använder den begärda storleken, medan positiva BoxWidth och BoxHeight ger en explicit radbrytningsruta
Appearance.OverflowPolicy väljer ltopReject, ltopClip eller ltopShrinkToFit; clipping behåller bara den text som ryms, och shrink-to-fit stannar vid MinFontSize
THPDFLoadedTextReplacementPlan bär begäran, alternativen, källfingeravtrycket, räknarna och THPDFLoadedTextReplacementResults-arrayen
Varje THPDFLoadedTextReplacementResult rapporterar glyfindex, ursprunglig position, rutmått, effektiv teckenstorlek och ett THPDFLoadedTextReplacementStatus-värde: ltrsReady, ltrsApplied, ltrsRejected eller ltrsRolledBack, med en orsak till avvisning eller återrullning
MaxMatches, MaxGlyphs, MaxContentTokens, MaxContentBytes, MaxGeneratedBytes och utseendets textgräns begränsar källtolkning, utdata och kopierade typsnittsresurser
Geometri och atomitet
Den genererade ersättningen använder dokumentets typsnittsreservkedjor, ShapingFeatures, automatiska shaping-brytare samt GSUB-skript- och språkval; konfigurera dessa före förhandsgranskningen och behåll samma inställningar när planen appliceras
Varje ersättningsutseende begränsar distinkta shaping-typsnittsval till 256 och kumulativa råa typsnittsdata till 64 MiB, utöver begärans tolknings- och genererad-utdata-budgeter
Ersättningen byter typsnitt inom den ursprungliga textströmmen, håller omgivande text sökbar och återställer den ursprungliga penn- och radmatrisen så att efterföljande glyfer och radövergångar behåller sina positioner
Direkt sidtext med horisontell, icke-singulär geometri stöds, inklusive sidtransformer, textskalning, rise, TJ, enkel-/dubbelfnuttsoperatorer och träffar över angränsande operander på samma baslinje
Träffar över baslinjer, vertikal skrivning, singulära transformer, obalanserat innehåll, saknade glyfer och dokument med signaturfält avvisas; text inuti Form-XObjects ligger utanför detta API:s träffomfång
Med Atomic=True rullar en avvisad träff tillbaka alla klara träffar; med Atomic=False kan klara träffar appliceras medan avvisade träffar lämnas oförändrade, och det booleska resultatet förblir False när någon träff avvisades
Förhandsgranskningen använder och rullar tillbaka en kapslad graftransaktion och bevarar en befintlig anropartransaktion; den kan ogiltigförklara dokumentcachor och utlösa dokumentändringsnotisen även om innehållet återställs
Applicering
Skicka planen till ApplyLoadedPageTextReplacement för att validera dess innehålls- och glyfmetrikfingeravtryck på nytt innan begäran appliceras i en graftransaktion
Beräkna om planen efter innehållsändringar; en inaktuell plan kastar EInvalidOpException utan att applicera sina ersättningar
Options := THPDFLoadedTextReplacementOptions.Default;
Options.Appearance.OverflowPolicy := ltopShrinkToFit;
if PDF.PreviewLoadedPageTextReplacement(0, 'Original', NewText,
True, Options, Plan) then
if PDF.ApplyLoadedPageTextReplacement(Plan, Applied) then
PDF.SaveLoadedDocument(TargetPath);