Eğer altı çizili metin olup olmadığını öğrenmek PDF veya tablo hücresinin
Etrafında PdfBox ve PDFTextStripperByArea yöntemi ile oynuyorum.
Eğer metin ise bilgi elde edebildimkalınyaitalikbilgilere altını gidemiyorum ama.
PDF anladığım kadarıyla, altı çizili satırları çizerek yapılır. Teoride bir yerlerde metnin etrafındaki çizgiler hakkında bilgi almak gerekir bu yüzden. Bu Bilgi daha sonra da metin öğrenebilirim vererek, altı çizili ya da bir tablo.
İşte benim kod şimdiye kadar:
List<TextPosition> textPos = charactersByArticle.get(index);
for (TextPosition t : textPos)
{
if (t.getFont().getFontDescriptor() != null)
{
if (t.getFont().getFontDescriptor().getFontWeight() > BOLD_WEIGHT ||
t.getFont().getFontDescriptor().isForceBold())
{
isBold = true;
}
if (t.getFont().getFontDescriptor().isItalic())
{
isItalic = true;
}
}
}
İçinde işlenmiş olan PDGraphicsState nesne oynamak için denedimprocessEncodedTextyöntemiPDFStreamEngineçizgilerin sınıf ama hiçbir bilgi yok.
Bu bilgileri alınamadı herhangi bir öneriniz var mı ?
CEVAP
Şimdiye kadar öğrendim:
PDFBox bağlı PDF operatörler için kaynak dosyası daha sonra bilgi işlem belirli sınıflar için/talimatları kullanır.
Bir göz atsakPDFTextStripper.özelliklerikaynak dosyası altında:
pdfbox\src\main\resources\\apache\pdfbox\resources\ org
örneğin BT operatör bağlı olduğunu görebilirsiniz org.apache.pdfbox.açıklama.operatör.BeginTextsınıf ve benzeri.
PDFTextStripperaltında
pdfbox\src\main\java\org\apache\pdfbox\açıklama\
bunları dikkate alır ve bu sınıflar ile PDF işleme kullanır.
AMA tüm grafik nesneleri göz ardı edilir, bu nedenle altı çizili veya tablo yapısı hiçbir bilgi yok!
Şimdi ise bir göz atacağızPageDrawer.özelliklerikaynak bu neredeyse tüm operatörler mevcut sınırları olduğunu görüyoruz dosya. KullanılmıştırPageDraweraltında sınıf
pdfbox\src\main\java\org\apache\pdfbox\pdfviewer\
"Hile" şimdi grafik operatörleri altı çizili ve tabloları temsil edenler vardır ve bunları kullanmak için birlikte olurPDFTextStripper.
Şimdi bu şu anda çok çalışmaya yolu olan PDF dosyası belirtimi, okuma anlamına gelir.
Eğer birini oluşturmaktadır (tablo çizgiler çizmek için sorumlu olan bilen varsa lütfen bana bildirin.
Eğer bir çift (veya yüzer) NaN olup ol...
Eğer bir dize null olup olmadığını kon...
Nasıl yüklü bir Tutulma veya 64 bit 32...
Nasıl eğer belirli bir dizin, bir tabl...
Eğer yolu dosya veya dizin olup olmadı...