obecnie, jeśli zrobię obiekt strony strony pdf z pyPdf i extractText(), to dzieje się tak, że linie są łączone razem. Na przykład, jeśli wiersz 1 strony mówi "cześć", a wiersz 2 mówi "świat", wynikowy tekst zwrócony z extractText() to "helloworld" zamiast "hello world". Czy ktoś wie, jak to naprawić, czy masz sugestie dotyczące pracy? Naprawdę potrzebuję, aby tekst zawierał spacje między wierszami, ponieważ robię wyszukiwanie tekstu na tym tekście pdf i brak spacji między wierszami go zabija ....python i pyPdf - jak wyodrębnić tekst ze stron, tak aby były spacje między wierszami
Odpowiedz
Jest to typowy problem z analizą pdf. Możesz także oczekiwać końcowych kresek, które będziesz musiał poprawić w niektórych przypadkach. Wymyśliłem obejście jednego z moich projektów, który opiszę wkrótce:
Użyłem pdfminer do wyodrębnienia XML z pliku PDF oraz znalezienia połączonych słów w pliku XML. I ekstrakcji taką samą PDF jako HTML i HTML można opisać za pomocą linii następującej regex:
<span style="position:absolute; writing-mode:lr-tb; left:[0-9]+px; top:([0-9]+)px; font-size:[0-9]+px;">([^<]*)</span>
Przęsła umieszczone są absolutnie i posiadają top-style, które można wykorzystać do określenia, czy przerwa linia stało. Jeśli wystąpi podział wiersza, a ostatnie słowo na ostatniej linii nie ma końcowego kreska, możesz oddzielić ostatnie słowo od ostatniej linii i pierwszego słowa w bieżącym wierszu. Może to być trudne w szczegółach, ale możesz naprawić prawie wszystkie błędy analizy tekstu.
Dodatkowo możesz chcieć uruchomić bibliotekę słowników, taką jak enchant, na tekście, znaleźć błędy i jeśli poprawka sugerowana przez słownik jest jak słowo błędu, ale z spacją gdzieś, słowo błędu prawdopodobnie będzie błędem parsowania i może być naprawiony za pomocą sugestii słowników.
Parsowanie PDF jest do dupy i jeśli znajdziesz lepsze źródło, użyj go.
- 1. Wylicz tekst, obrazy i równania LaTeX ze stron internetowych
- 2. Jak wyodrębnić tekst z pliku PDF w języku Python?
- 3. Jak wyodrębnić ciąg między 2 inne ciągi w python?
- 4. Wyodrębnij tekst na stronie za pomocą Python pdfMiner?
- 5. Jak wyodrębnić tekst w ciągu tekstowym
- 6. Kombinatory parsera Scala i tekst rozdzielany wierszami
- 7. UILabel negatywne odstępy między wierszami
- 8. Jak wyodrębnić tekst widoczny na stronie ze źródła html?
- 9. W jaki sposób nowoczesne shadery OpenGL powinny być tak napisane, aby były ze sobą kompatybilne?
- 10. Jak wydobywać sensowne i przydatne treści ze stron internetowych?
- 11. wyodrębnić tekst z lxml.html
- 12. Jak wymusić wysublimowany tekst, aby wciskać dwie spacje na tabulator?
- 13. Odstęp między wierszami
- 14. Jak zmienić odstępy między wierszami w TextBlock?
- 15. Rozmieszczenie w siatce i interlinię między wierszami
- 16. Jak utworzyć tekst układu UITextView tak, jak tekst UILabel?
- 17. Wykładanie tekstowe w systemie Android między wierszami
- 18. Dodawanie pionowej przestrzeni między wierszami w vim
- 19. Podproces Python wprowadza spacje
- 20. Manipulowanie odstępami między wierszami w LaTeX
- 21. TextView z kolorem tła i odstępy między wierszami
- 22. Zapytanie, aby znaleźć różnicę między kolejnymi wierszami w Mysql
- 23. Parsowanie tabeli z odstępem między wierszami i kolspanem
- 24. wyodrębnić tekst z wieloma separatorami
- 25. Ustaw tekst i pobierz tekst ze schowka
- 26. Jak ustawić odstęp między wierszami Graphics.DrawString
- 27. Jak wyodrębnić tekst z pliku PSD?
- 28. C# - Jak wyodrębnić nazwę pliku i rozszerzenie ze ścieżki?
- 29. Jak wyodrębnić tekst z rozsądnie rozsądnego HTML?
- 30. Pionowa przestrzeń między wierszami startowymi
Możesz chcieć rzucić okiem na tę stronę SO: http://stackoverflow.com/questions/25665/python-module-for-converting-pdf-to-text Jest kilka dobrych propozycji! – avelldiroll