Text

Text

Bu sayfa, bir sayfadan metni geri okuma konusunda üç ayrıntı seviyesini kapsar: plain text, structured layout blocks ve individual positioned glyphs. Bir sayfaya metin yazma için bkz. Core API and Core API.


Düz Metni Çıkarma

Page.GetText(), sayfanın birleştirilmiş düz metnini okuma sırasına göre döndürür. Bir sayfanın gerçekte hangi metni içerdiğini doğrulamanın en basit yoludur — örneğin, bir alanı düzleştirdikten veya bir kırpma uyguladıktan sonra.

const page = doc.Pages[0];
console.log(page.GetText().includes('Internal memo'));

Yapılandırılmış Metin

Page.GetStructuredText(), konumlandırılmış metni satırlara (taban çizgisine göre) ve paragraf benzeri bloklara (dikey boşluk ve sol kenar hizalamasına göre) gruplayarak çıkarır, TextBlock[] döndürür — sadece düz bir dize değil, yerleşim gerektiğinde faydalıdır.


Glif Düzeyi İçgörü

visitContent(doc, page, visitor), bir sayfanın içerik akışlarını — Form XObject’lere dahil — yürütür ve karşılaştığı her glif, görüntü veya yol için visitor üzerindeki eşleşen işleyiciyi çağırır. glyph işleyicisi bir GlyphEvent alır: glifin text, cihaz-uzayı quad, fontSize, color ve mcid (varsa kapsayan işaretli içerik öğesi) ve artifact (bir /Artifact kapsamı içinde çizildiğinde doğru) gibi kaynak alanları.

import { visitContent } from '@asposefoss/pdf';

let glyphCount = 0;
visitContent(doc, page, {
  glyph: (e) => {
    glyphCount++;
    if (e.artifact) return;       // skip decorative content
    console.log(e.text, e.quad, e.color);
  },
});
console.log('glyphs drawn:', glyphCount);

İpuçları ve En İyi Uygulamalar

  • Page.GetText()‘ı hızlı bir varlık/yokluk kontrolü için kullanın; visitContent()‘ı bir glyph işleyicisiyle birlikte, her glifin tam konumuna, yazı tipi boyutuna veya rengine ihtiyacınız olduğunda kullanın.
  • Gerçek içerik yerine /Artifact olarak işaretlenen süslü içeriği (sayfa mobilyaları, arka planlar) atlamak için GlyphEvent.artifact‘ı kontrol edin.
  • GlyphEvent.mcid belge etiketlendiğinde bir glyph’i kapsayan yapı öğesine geri bağlar — birleştirerek Structure bir glyph’ten mantıksal öğesine yürümek için.
  • Page.GetStructuredText(), glifleri sizin için bloklara gruplar; sadece GetStructuredText()‘nin ortaya koymadığı glif başına ayrıntıya ihtiyaç duyduğunuzda doğrudan visitContent()‘e başvurun.

Yaygın Sorunlar

SorunNedenDüzeltme
Page.GetText() sayfada görünür metni eksik bırakıyorMetin gerçek glif gösterme operatörleri yerine vektör yolları ya da bir görüntü olarak çizildi.visitContent()‘ı bir path / image işleyicisiyle kullanarak, içeriğin hangi türünün gerçekten çizdiğini doğrulayın.
visitContent()‘ın glyph işleyicisi dekoratif arka plan metni için tetiklenir.GlyphEvent.artifact kontrol edilmedi.e.artifact true olduğu durumlarda olayları atlayın.
Çıkarılan metin görsel okuma sırasının dışında.Düz GetText() derlemesi çok sütunlu düzeni yeniden oluşturmaz.Metni düzen farkındalıklı bloklara gruplayan Page.GetStructuredText()‘ı kullanın

FAQ

GetText ile GetStructuredText arasındaki fark nedir?

GetText() sayfanın birleştirilmiş metninin tek bir düz dizesini döndürür. GetStructuredText() TextBlock[] döndürür — metin, temel çizgi ve yerleşime göre satır ve paragraf benzeri bloklar halinde gruplanır, konum önemli olduğunda faydalıdır.

Her karakterin tam konumunu ve yazı tipi boyutunu nasıl alabilirim?

visitContent(doc, page, { glyph: (e) => ... })‘ı çağırın. Her GlyphEvent, glifin text, cihaz uzayı quad, fontSize, color ve temel çizgi angle bilgilerini taşır.

Bir metin parçasının gerçek içerik mi yoksa dekorasyon mu olduğunu söyleyebilir miyim?

Evet — GlyphEvent.artifact, glif bir /Artifact işaretli içerik kapsamı içinde çizildiğinde true olur, aynı ayrım Document.AutoTag() tarafından neyi etiketleyeceğine karar verirken kullanılır.

Metin çıkarma, Form XObject’lerin içindeki içeriği görür mü?

Evet — visitContent(), gezinmesinin bir parçası olarak Form XObject’lere girer, böylece yeniden kullanılan bir form üzerinden çizilen glifler hâlâ ziyaret edilir.


API Reference Özeti

Sınıf/YöntemAçıklama
Page.GetText()Sayfanın birleştirilmiş düz metni, okuma sırasına göre
Page.GetStructuredText()Metin, satırlar ve paragraf benzeri bloklar halinde gruplanır (TextBlock[])
visitContent()Bir sayfanın içeriğinde dolaşarak, kaynak bilgisiyle glyph/görüntü/yol olayları yayar
GlyphEventBir konumlandırılmış glif: text, quad, fontSize, color, mcid, artifact

Ayrıca Bakınız

 Türkçe