ReplaceTextBlockCharSourceBytes

Metin, Ayıklama, İçerik akışları, Belge düzenleme

Açıklama

Seçili belgede ayıklanan bir karakterle eşlenmiş kodlanmış kaynak bayt aralığını değiştirir

Sözdizimi

Delphi

Function TPDFlib.ReplaceTextBlockCharSourceBytes(TextBlockListID, Index,
  CharIndex: Integer; Const NewSource: AnsiString): Integer;

Parametreler

TextBlockListIDSeçili belge için ExtractPageTextBlocks tarafından döndürülen tanıtıcı
Index1 tabanlı metin bloğu dizini
CharIndexBlok metni içindeki 1 tabanlı UTF-16 kod birimi konumu
NewSourceEtkin PDF yazı tipi kodlamasında ham yerine koyma baytları; Unicode metin değil

Dönüş değerleri

1Eşlenmiş bayt aralığı değiştirildi ve sayfa içerik katmanı yeniden yazıldı
0Konum geçersiz, bayat veya salt okunur ya da içerik katmanı yeniden yazılamadı

Hata kodları

PDFLIB_ERROR_TEXT_LOCATION_INVALIDListe, dizin, konum veya içerik yönergesi geçersiz
PDFLIB_ERROR_TEXT_LOCATION_STALEHedef sayfa içerik katmanı, ayıklamadan bu yana değişti
PDFLIB_ERROR_TEXT_LOCATION_READ_ONLYKarakter üretilmiş, /ActualText ile değiştirilmiş, bir Form içinde iç içe geçmiş, yazı tipi eşlemesinden önce transkodlanmış veya içerik katmanlarına bölünmüş

Açıklamalar

Yöntem yalnızca içeren sayfa içerik katmanını yeniden yazar ve komşu Tj dizelerini, TJ dizi dizelerini ve kerning sayılarını korur

İki bağımsız parmak izi, ayrıştırmadan ve yazmadan önce bayat içeriği saptar; böylece eski bir ayıklama sonucu değişmiş baytları sessizce hedefleyemez

Her başarılı değiştirmeden sonra sayfa metnini yeniden ayıklayın; çünkü önceki listedeki tüm konumlar bayatlamıştır

Bağlama genişletilmiş karakterler tek bir kaynak aralığını paylaşır ve tek bir kaynak glifi olarak ele alınmalıdır

Seçili sayfa, başarıdan veya başarısızlıktan sonra onarılır