Derzeit, wenn ich ein Seitenobjekt einer PDF-Seite mit pyPdf mache, und extractText(), was passiert, ist, dass Zeilen miteinander verkettet sind. Wenn z. B. Zeile 1 der Seite "Hallo" und Zeile 2 "Welt" enthält, lautet der von extractText() zurückgegebene Text "helloworld" anstelle von "hallo world". Weiß jemand, wie man das repariert oder Vorschläge für eine Arbeit hat? Ich brauche wirklich den Text, um Abstände zwischen den Zeilen zu haben, weil ich Textbergbau auf diesem pdf Text mache und keine Räume zwischen den Zeilen erledigte ...Python und pyPdf - wie man Text von den Seiten extrahiert, so dass es Leerzeichen zwischen den Zeilen gibt
Antwort
Dieses ist ein allgemeines Problem mit pdf Parsing. Sie können auch nachfolgende Bindestriche erwarten, die Sie in einigen Fällen beheben müssen. Ich habe einen Workaround für eines meiner Projekte entwickelt, das ich hier kurz beschreiben werde:
Ich habe pdfminer verwendet, um XML aus PDF zu extrahieren und auch verkettete Wörter im XML zu finden. Ich extrahiert die gleiche PDF als HTML und HTML können durch die Linien der folgenden regulären Ausdruck beschrieben werden:
<span style="position:absolute; writing-mode:lr-tb; left:[0-9]+px; top:([0-9]+)px; font-size:[0-9]+px;">([^<]*)</span>
Die Spannweiten positioniert sind absolut und haben einen Top-Stil, dass Sie, wenn ein Zeilenumbruch passiert ermitteln können. Wenn ein Zeilenumbruch stattgefunden hat und das letzte Wort in der letzten Zeile keinen nachgestellten Bindestrich hat, können Sie das letzte Wort in der letzten Zeile und das erste Wort in der aktuellen Zeile trennen. Es kann in den Details schwierig sein, aber Sie können möglicherweise fast alle Textanalysefehler beheben.
Darüber hinaus möchten Sie möglicherweise eine Wörterbuchbibliothek wie enchant über Ihren Text ausführen, Fehler finden und wenn das von dem Wörterbuch vorgeschlagene Update wie das Fehlerwort ist, aber mit einem Leerzeichen irgendwo, das Fehlerwort ist wahrscheinlich ein Parsing-Fehler und kann mit dem Vorschlag der Wörterbücher behoben werden.
Parsing PDF saugt und wenn Sie eine bessere Quelle finden, verwenden Sie es.
- 1. Warum gibt es so viel Leerzeichen zwischen den beiden Divs?
- 2. Extrahieren von Text zwischen den Ziffern - Python
- 3. So navigieren Sie effektiv zwischen den Seiten
- 4. Gibt es einen Unterschied zwischen den Randwerten?
- 5. Wie extrahiert man den Wert zwischen zwei Strings mit Regex?
- 6. Kommunikation zwischen den Seiten
- 7. Stoppt den Text von den Zeilen
- 8. Bootstrapper Application UI - Wie man zwischen den Seiten wechselt
- 9. Wie füge ich Leerzeichen zwischen den Zeilen meiner ul hinzu?
- 10. So entfernen Sie Leerzeichen zwischen den Abschnitten von UICollectionView?
- 11. .NET MVC und sichere Weitergabe von Daten zwischen den Seiten
- 12. So reduzieren Sie den Abstand zwischen den Zeilen mit Bootstrap
- 13. Android: Hinzufügen von Leerzeichen zwischen den Registerkartenlayouts
- 14. Objective-C - Wie vergleicht man Arrays und extrahiert den Unterschied?
- 15. Insert Leerzeichen zwischen den Zeichen in listbox
- 16. Daten zwischen den Seiten richtig übergeben
- 17. Wie extrahiert man den DataProperty-Wert aus den Sparql-Ergebnissen?
- 18. Wenn Scrolling in RecyclerView automatisch zwischen den Zeilen Leerzeichen hinzufügt
- 19. Python: Verwirrung zwischen den Typen und dtypes
- 20. Wie filtert man Twitter mit Leerzeichen zwischen den Zeichen?
- 21. Wie fügt man Leerzeichen zwischen den Spaltennamen ein?
- 22. Stil-Selektor, Stil zwischen den Seiten beibehalten
- 23. QToolButton Leerzeichen zwischen Text und Icon
- 24. So entfernen Sie die Leerzeichen zwischen den Tags in XML
- 25. Passing Javascript Variablen zwischen den Seiten
- 26. Facebook Chatbox lädt nicht zwischen den Seiten
- 27. Python3 XML Text zwischen den Tags
- 28. Spiel Leerzeichen zwischen den geschweiften Klammern
- 29. Page Load - White "flash" zwischen den Seiten
- 30. Classic ASP Übergabe Wert zwischen den Seiten
Sie möchten vielleicht einen Blick auf diese SO-Seite werfen: http://StackOverflow.com/Questions/25665/Python-Module-for-Converting-PDF-to-text Es gibt ein paar gute Vorschläge dort! – avelldiroll