Şifrelenmiş PDF dosyalarını okumak için bir java programı yapıyorum ve sayfa, metin, resimler ve bunların konumlarını (x, y koordinatları) içeren sayfalar içeriğiyle ayıklayın. dosya. Şimdi bu amaç için PDFBox kullanıyorum ve yazıyı ve görüntüleri alıyorum. Ama metin pozisyonunu ve görüntü pozisyonunu alamadım. Ayrıca bazı şifreli PDF dosyalarını okuyarak bazı problemler vardır.PDFBox kullanarak Metin ve Resim Konumlarını Okuyun (xy koordinatları)
cevap
org.apache.pdfbox.examples.util.PrintTextLocations
'a bakın. Bunu biraz kullanmıştım ve PDF belgelerinde elemanların yerleşimi ve sınırlayıcı kutular üzerinde analizler yapmak çok yararlı oldu. Ayrıca, beyaz mürekkeple veya yazdırılabilir alanın dışında (muhtemelen belge filigranları veya yazar tarafından görülemeyen "unutulan" öğelerin) basılı öğeleri ortaya çıkardı.
Kullanım örneği:
java -cp app/target/pdfbox-app-1.5.0.jar org.apache.pdfbox.examples.util.PrintTextLocations ~/tmp/mydoc.pdf >~/tmp/out-text-locations.txt
Böyle bir şey çıkacak: kolayca ayrıştırmak ve elementin pozisyonunu çizmek için kullanabilirsiniz
Processing page: 0
String[53.9,59.856995 fs=-6.0 xscale=6.0 height=-3.666 space=1.3320001 width=4.6679993]A
String[58.568,59.856995 fs=-6.0 xscale=6.0 height=-3.666 space=1.3320001 width=2.6640015]f
String[61.232002,59.856995 fs=-6.0 xscale=6.0 height=-3.666 space=1.3320001 width=1.6679993]e
...
, sınırlayıcı-kutusu ve "akış" Her sayfa için (vb. tüm unsurlar ile yörünge). Bildiğiniz gibi, PDF'in metne dönüştürülmesinin neredeyse imkansız olduğunu göreceksiniz. Bu sadece bir grafik tanımlama formatıdır (yani yazıcı veya ekran için), bir biçimlendirme dili değildir. "Merhaba dünyayı" yazdıran bir PDF dosyası hazırlayabilirsiniz, ancak karakter pozisyonları arasından rasgele bir şekilde atlar ve (eğer seçerseniz, herhangi bir ISO kodlamasından farklı glifler kullanır), PDF'yi metne dönüştürmek çok zor hale getirir. "Sözcük" veya "paragraf" fikri yoktur. Örneğin iki sütunlu bir belge, metne ayrıştırmak için bir kabus olabilir. Sorunuzun ikinci kısmı için
, ben Xref.cc sabitleme sonra, xpdf sürümünü 3.02 kullanılarak iyi sonuçlar elde etti (bütüngTrue
dönmek
XRef::okToPrint()
,
XRef::okToChange()
,
XRef::okToCopy()
ve
XRef::okToAddNotes()
olun). Bu, şifrelenmiş olanları değil, kilitli belgeleri işlemek içindir (bunun için başka araçlar da vardır).
- 1. PDFBox kullanarak belirli bir sayfadan metni okuyun
- 2. pdfbox'ta pdfbox kullanarak metin dönüştürme 8.1
- 3. Yerel metin kullanarak 'C' içindeki metin dosyasını (Unicode) okuyun
- 4. Apache PdfBox
- 5. Metin dosyası oluşturun, kaydedin ve okuyun
- 6. Aşağıdaki komut dosyası kullanarak bir hareket yörüngesinin bitişik parçalar (xy koordinatları) enine ürün yerine
- 7. Ben pdfbox kitaplığını kullanarak sıfırdan bir pdf yaratan bir java uygulaması yazıyorum PDFBox
- 8. Metin dosyası oluşturun ve gizli yapın ve okuyun. Sadece C#
- 9. iOS CGPDFScanner metin konumlarını bulmak için arama
- 10. Kare XY ızgarası Altıgen işaretli altıgen etiketler
- 11. Java. Bir metin dosyasındaki Çizgi ve sütunları okuyun ve
- 12. Django ve koordinatları koruma
- 13. Metin dosyasının ilk satırını okuyun ve ardından aşağıdaki satırları
- 14. PDFBox kullanarak HTML'den nasıl PDF dosyası oluşturulur?
- 15. pdfbox kullanarak Java'da pdf nasıl imzalanır
- 16. Google GWT'deki metin dosyasını okuyun mu?
- 17. Çekirdek Metin - NSRange'den Pixel Koordinatları Alın
- 18. .Net için PDFBox Nasıl Oluşturulur
- 19. Windows 8'de bir Metin Dosyası okuyun
- 20. Özel resim ve metin içeren Form Düğmesi
- 21. Resim ve metin içeren WinForms düğmesi
- 22. XY Değerlerini RGB'ye Dönüştürme
- 23. Java içinde FileInputStream kullanarak bir görüntü okuyun
- 24. UIImageView Dönüştürme Koordinatları UIImage Koordinatları
- 25. Görüntüleri okuyun ve veritabanına ekleyin
- 26. PySpark kullanarak Kıvılcım Görüntüleri okuyun
- 27. Bir metin dosyası okuyun ve android bir dizide arama
- 28. jquery - Bir metin dosyası okuyun mu?
- 29. Resim kutusunu görüntüle Fare kutusu koordinatları tıklatıldığında tıklayın
- 30. javascript ile değişkenleri metin dosyasına okuyun