SearchAndReplaceTextInContent
Ayıklama, Unicode, içerik düzenleme
Açıklama
Desteklenen sayfa metnindeki çakışmayan her sorgu geçişini, tam kaynak bayt aralıkları ve doğrulanmış bir yazı tipi eşlemesiyle değiştirir
Yöntem, çevresindeki metni, mevcut TJ sayısal ayarlamalarını ve özgün ardındaki metin çapasını korur; boş bir değiştirme, yalnızca eşleşen karakterleri siler
Seçilen tüm isabetler, sayfa içeriği işlenmeden önce planlanır ve yeniden yazılır; temsil edilemeyen metin, eksik yazı tipi eşlemeleri veya desteklenmeyen bir kaynak konum, hiçbir seçili sayfa metnini değiştirmeden isteği reddeder
Sözdizimi
Delphi
Function TPDFlib.SearchAndReplaceTextInContent(Const Query, Replacement: WideString; Options: TPDFlibSearchOptions; Const PageRange: WideString): Integer;Parametreler
Query boş olmamalıdır; Replacement boş olabilir; PageRange mevcut sayfa aralığı söz dizimini kullanır ve boş bir aralık tüm sayfaları seçer
Bu girdi, ReplacementFontID 0 ile SearchAndReplaceTextInContentEx'e devreder; böylece değiştirme, doğrulanmış özgün yazı tipini kullanır
Dönüş değerleri
Değiştirilen eşleşme sayısını; eşleşme yokluğunda ya da reddedilen istekte 0 döndürür. Bu sonuçları ayırt etmek için GetLastUnicodeReplacementDiagnostics'a bakın
LastErrorCode 535 geçersiz girdiyi veya yakalama sınırlarını bildirir; 537 desteklenmeyen düzenlemeyi ya da kodlamayı bildirir. Eşleşme olmayan geçerli bir arama, replacedHits 0 ile completed bildirir
Açıklamalar
Eşlemeler, desteklenen Differences glif adları dahil, tam desteklenen bir ToUnicode CMap'inden veya doğrulanmış bir basit yazı tipi kodlamasından gelir; sistem kod sayfası dönüşümü ya da tahmini glif kodlaması kullanılmaz
Adlandırılmış UseCMap kalıtımı, çözülemeyen eşlemeler, Type3 yazı tipi ilerlemeleri, dikey yazım, iç içe Form metni, sentetik karakterler, ActualText değiştirmeleri, kod dönüştürülmüş dizgiler, katmanlar arası eşleşmeler ve eksik ligatür kümeleri desteklenmeyen olarak bildirilir
Eksiksiz bir ligatür kümesi, özgün baytları ve Unicode eşlemesi doğrulandığında değiştirilebilir; önekler ve sonekler özgün yazı tipinde kalır
Arama seçenekleri; büyük/küçük harf, tam kelime, joker, diyakritik, kuramsal eşdeğerlik ve grafem kısıtları dahil, mevcut anlamlarını korur. soAcrossLines ve açık bir API kapsamı içindeki çağrılar reddedilir
Planlama en fazla 4096 eşleşmeyi destekler; yakalanan kaynak anlık görüntüleri akış başına 64 MiB ve toplamda 512 MiB ile sınırlıdır; yakalanan kaynak konumu kayıtları 64 MiB'dir. Yazı tipi eşlemesi ayrıştırıcısı da sınırlı işaret ve kod alanı sınırları uygular; işlem toplamları 262144 eşleme ve 8 Mi UTF-16 hedef birimidir
Bu sınırlar, tutulan yakalama ve planlama verisini kısıtlar; mevcut sayfa yükleme ve oluşturmanın kendi ayırmaları vardır, dolayısıyla bunlar mutlak tepe bellek kullanımının garantisi değildir
Paylaşılan içerik akışları ve kaynak sözlükleri, seçili sayfalar için kopyalanır; belge seçimi geri yüklenir ve bayat metin bloğu listeleri başarılı bir düzenlemeden sonra yeniden ayıklanmalıdır
Bu işlem etkin sayfa içeriğini değiştirir ve güvenli silme API'si değildir: koparılmış nesneler veya önceki artımlı revizyonlar özgün baytları koruyabilir
Ayrıca bkz
SearchAndReplaceTextInContent, SearchAndReplaceTextInContentEx, GetLastUnicodeReplacementDiagnostics, SearchText