Metin dönüştürücü, pdftotext daha iyi bir pdf var mı?


63

PDF belgelerini metne dönüştürmek için pdftotext (poppler-utils öğesinin bir parçası) kullanıyorum. Genelde işe yarıyor, ama yapmayı istediğim şey, bunları birleştirmek yerine ayrı paragrafların arasına boş satırlar koymaktı.

Bunu yapmak için pdftotext almanın bir yolu var mı? Olmazsa, bunu yapabilen başka bir pdf metin yardımcı programı var mı?


8
Başlığında "pdftotext" (poppler-utils'in bir parçası) diyorsunuz ve vücutta "pdt2text" (bilmiyorum) diyorsunuz. Hangisini kastediyorsun?
enzotib

benzer bir soru PDF to audio software for academic papers? softwarerecs.stackexchange.com/questions/10640/…
JinSnow

Yanıtlar:


25

Sen deneyebilirsiniz ebook-convertgelen Caliber.

Bir şey olursa, diğer yönde yanıldığını söyleyebilirim: çok fazla satır sonu.

Kesinlikle düşüneceğim bir başka şey de pdfreflow kullanarak HTML’ye dönüştürme ve ardından HTML’yi TXT’ye dönüştürme.


Not: ebook-convertçoklu sütun düzenini dönüştüremez, sütunları tek bir sütunda birleştirir. Çok sütunlu düzen için pdftotextçok daha iyi çıktı üretir. Diğer sınırlamalar manual.calibre-ebook.com/conversion.html#convert-pdf-documents adresinde açıklanmıştır .
asmaier

117

Eğer pdftotext kullanıyorsanız, -layoutgiriş pdf dosyanızdaki sayfalardaki metin düzenini korumak için bayrak kullanabilirsiniz :

pdftotext -layout input.pdf output.txt

6
Ayrıca masa düzenleri için -table özellikle, harika çalışıyor.
P.Windridge

3
@ P.Windridge, bu tablo seçeneği nerede? Ubuntu'daki poppler-utils'in 0.48.0 versiyonunda bulamıyorum 17.04
gozzilli

2
@gozzilli budur yolu eski. Son pdftotext mevcut v4.00 olduğunu Xpdf araçları tarball burada .
Adrian,

2
@gozzilli 0 ile başlayan sürümler, Xpdf dosyasının orijinal kodunun Popplers şubesi olduğunu gösterir. Kodu dalladıklarında sürüm numaralarına başladılar. Artık her iki grup da bu PDF araçlarının ayrı sürümlerini koruyor görünmektedir.
Andrew,

1
@VivekSable bunlar belirtilen nokta (piksel) -r(çözünürlük, varsayılan 72 dpi)
vstepaniuk

14

Açık kaynak (ve otomasyon) hayranı olarak bunu söylemekten nefret ediyorum, ancak aldığım en iyi sonuçlar (oldukça büyük, karmaşık bir PDF'de) Adobe Reader'da açmaktı, sonra Dosya | Metin Olarak Kaydet'i seçin.

(Okuyucu olarak değil, metin analizi deneyleri için ön işlem yapıyorum, ancak ilk ve ikinci tercihimin aynı olacağını düşünüyorum.)

Çıktıyı yan yana karşılaştırıyorum. İkinci tercihim ebook-convert.

Adobe : sayfa sonları için FF'de kaldı, sayfa numaralarında bırakıldı, başlıkları / paragrafları tek satırlara dönüştürmedi, ancak sabit tire koydu. PDF'de gizlenen önemsiz çıktı alınamadı. “Büyük” ve “Büyük” değil, “Büyük” gibi bölümlerin başında büyük başkentler doğru geldi.

ebook-convert : Sayfa numaralarında bırakılır ve üstbilgi / altbilgide bazı gizli önemsizler (ancak FF'ler olmaz). Paragrafların çoğunu tek satır olarak dönüştürür. Kaçırdıkları ise olsa iki boşluklu! Madde işaretleri her zaman metinle aynı hizada olmaz. Doğru bölümün başında "The" var.

pdftotext (-layout olmadan) : Fena değil, madde işaretleri hizalı, ancak başlık / altbilgi gürültüsü. FF'ler orada. Tire kaldırıldı. Büyük harflerin başlaması için en kötüsü: "T \ n \ nhe".

pdftotext (--layout ile) : Benzer, ancak daha fazla girintiler. Bölüm başlangıcı için "o".

pdftohtml >> pdfreflow >> htmltotext : Sayfa numaralarını sildi , ancak yine de üstbilgi / altbilgide önemsiz kaldı. Bölüm başlangıcı için "o". Tire kaldırıldı. (Paragraf başına birden çok satır kullanır, ancak diğer sürümlerde olduğu gibi aynı satır kesmeleri değildir!)


Linux'taki Acrobat Reader 9 benim durumumda ezilmiş kelimeler üretti. ebook-convertiyi çalıştı.
ov7a

Gerçekten bunun için bir AI uygulamasına ihtiyacımız var, bu tür bir görev için mükemmel görünüyor: biri bir tanesini tanıyor mu?
JinSnow

1
Adobe okuyucu ücretsiz, ancak ... yalnızca pdf okumak için. Diğer şeyler için ödemeniz gerekenler (aylık abonelik). (Pdf metinden az sayfa ile sınırlıdır). Pdfto text (veya xpdf galibi) benim ihtiyaçlarım için mükemmel.
JinSnow

Tablo veri için, şimdi "pdftotext -table file_name.pdf output_name.txt" -table anahtarını kullanmak en iyisidir
Thom Ives

5

Bir Google hesabınız varsa, PDF'yi yüklemek ve düzenlenebilir metne dönüştürmek için Google Dokümanlar'ı kullanabilirsiniz.


1

Ayrıca pypdf'i denedim ve iki belgede pdftotext ile karşılaştırdım. Daha çok satır çekimi vardı ve bazı bölüm adlarını ayırdı (REFERANSLAR REFERANSLARDIR).

pdf2txt tam çöp çıktı.

Eğer pdftotext çıktıyı bozarsa, genellikle pdfBox (java) kullanıyorum. Bir deneyebilirsin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.