iTextSharp ve text'i bir PDF'den çıkarmak için reader.GetPageContent yöntemini kullanıyorum. Belgede bulunan her kelimeye ait dikdörtgeni/konumu bulmalıyım. Bir sözcüğün dikdörtgenini/konumunu iTextSharp kullanarak PDF'de almanın bir yolu var mı?iTextSharp - Bir sayfadaki kelimenin konumunu nasıl edinirim?
cevap
Evet var. text.pdf.parser
paketine, özellikle LocationTextExtractionStrategy
'a bakın. Aslında, bu da hile yapamaz. Muhtemelen PdfTextExtractor içine beslemek için TextExtractionStrategy
kendi yazmak istersiniz:
MyTexExStrat strat = new MyTexExStrat();
PdfTextExtractor.getTextFromPage(reader, pageNum, strat);
// get the strings-n-rects from strat.
public class MyTexExStrat implements TextExtractionStrategy {
void beginTextBlock() {}
void endTextBlock() {}
void renderImage(ImageRenderInfo info) {}
void renderText(TextRenderInfo info) {
// track text and location here.
}
}
Muhtemelen bir temel paylaşan metni birleştirir nasıl LocationTextExtractionStrategy görmek için kaynak bakmak isteyeceksiniz. Hatta paralel dizileri ve dizileri saklamak için LTES'i değiştirebilirsiniz.
PS: rects inşa etmek, sadece AscentLine & DescentLine almak ve üst ve alt köşelerinde sıra bu koordinatları kullanabilirsiniz:
Vector bottomLeft = info.getDescentLine().getStartPoint();
Vector topRight = info.getAscentLine().getEndPoint();
Rectangle rect = new Rectangle(bottomLeft.get(Vector.I1),
bottomLeft.get(Vector.I2),
topRight.get(Vector.I1),
topRight.get(Vector.I2));
Uyarı: Yukarıdaki kod eşek-u-mes o metin yataydır ve soldan sağa doğru ilerler. Döndürülmüş metin, dikey metin veya sağdan sola (Arapça, İbranice) metinler gibi, onu kırar. Çoğu uygulama için, yukarıdakiler iyi olmalıdır, ancak sınırlarını bilin.
İyi avcılık.
Not: LocationTextExtractionStrategy çözümleyicisi, belgede görünüm sırasına göre metni bulmaz. Altbilgiye (.docx dosyaları) sonra da PDF'ye (DOCX4J ile) dönüştürüyorum. Ayrıştırıcının metin bulmasını sağladım, .docx dosyasının altbilgisi, sonra gövde bölümünde. Örneğin, belgenin altındaki metni bulun, ardından bunun üstündeki metni bulun. Görünüm sırasına göre konumlandırmanız gerekiyorsa, sonuçlarınızı kendiniz sıralamanız gerektiğini görebilirsiniz. –
C# sürümü için bu bağlantıya göz atın https://stackoverflow.com/questions/23909893/getting-coordinates-of-string-using-itextextractionstrategy-and-locationtextextr –
- 1. iTextSharp
- 2. iTextSharp
- 3. nasıl ı iTextSharp kullanarak bir PDF dosyası yüklü diyelim itextsharp
- 4. itextsharp
- 5. iTextSharp nasıl kullanılır?
- 6. RichTextBox'ta bir kelimenin etrafındaki kenarlık nasıl çizilir?
- 7. java'da parametrenin ek açıklamalarını nasıl edinirim?
- 8. Winforms Form başlık çubuğunun yüksekliğini nasıl edinirim?
- 9. Metin dosyasındaki bir kelimenin değiştirilmesi
- 10. iTextSharp - PDFPTable'a PDFPRow nasıl eklenir?
- 11. Android Tek bir şarkının kimlik bilgisini nasıl edinirim URI'den
- 12. iTextSharp Bir Altbilgi Sayfası Oluşturma # #
- 13. Iframe öğesinde bir öğenin Y konumunu alın
- 14. İç sayfadaki bir iframe nasıl yeniden boyutlandırılır?
- 15. Başka bir sayfadaki sayfa nasıl yenilenir?
- 16. AJAX: Başka bir sayfadaki veriler nasıl görüntülenir
- 17. GWT: birden fazla kelimenin
- 18. Bir altlığın konumunu algılama
- 19. Bir kelimenin bir metin kutusunda hangi satırda bulunduğunu nasıl bulabilirsiniz?
- 20. Yii2 bir sayfadaki çok captcha
- 21. MessageBox konumunu nasıl değiştiririm?
- 22. Geçerli satırdaki sonraki kelimenin dizini alın
- 23. Ben görüntülerden pdf-a belgeleri oluşturmak için iTextSharp kullanıyorum iTextSharp
- 24. iTextSharp Şifre Korumalı PDF
- 25. İmleç kelimenin ortasındayken nasıl kelime silerim?
- 26. iTextSharp bozuk PDF üretiyor
- 27. vim: kelimenin son birkaç harfi nasıl değiştirilir?
- 28. iTextSharp kullanarak Etiket Yazdırma
- 29. Python: bir kelimenin doğru yazıldığından emin olun
- 30. Vim satırlarını bir kelimenin ortasındaki kaydırma satırları
Sorununuza iyi bir çözüm buldunuz mu? – d456