Pytanie:
Jak przekonwertować plik pdf na plik tekstowy?
Juan A. Navarro
2010-09-22 17:30:47 UTC
view on stackexchange narkive permalink

Czy istnieje prosty sposób na wyodrębnienie zwykłego tekstu z pliku pdf?

W systemach * nix używałem polecenia ps2ascii , które wykonało zadanie, ale wydaje się, że to polecenie nie jest instalowane domyślnie na moim Macu.

Jaki byłby najłatwiejszy sposób na wyodrębnienie tekstu z pliku pdf lub alternatywnie, jak pobrać ps2ascii na mój system?

Sześć odpowiedzi:
#1
+5
ghoppe
2010-09-24 00:50:03 UTC
view on stackexchange narkive permalink

Program Adobe Reader ma opcję „Zapisz jako tekst…” w menu Plik. Najłatwiejszy sposób.

Dzięki! Jest to zdecydowanie najprostsze rozwiązanie, bez problemu poradziło sobie z moim ogromnym plikiem i dało w miarę czysty i użyteczny wynik tekstowy.
Tak, to najłatwiejszy, ale nie zawsze najczystszy wydruk. v7 generuje najlepsze wyniki, ale przed i po tym wszystko się psuje. Częścią mojej pracy jest dostarczanie niepełnosprawnym studentom wyższych wersji podręczników w postaci zwykłego tekstu. Mam z tym duże doświadczenie i dlatego polecam Ghostscript, jeśli szukasz darmowej opcji.
@ghoppeDzięki tej łatwej opcji, ale nie jest ona dostępna w wersji adobe na mac, jak zrobić to w Adobe przez Adobe Reader?
#2
+4
Philip Regan
2010-09-22 18:51:28 UTC
view on stackexchange narkive permalink

ps2ascii jest częścią Ghostscript, który można zainstalować w systemie Mac OS X (i może być już domyślnie zainstalowany fabrycznie).

Ghostscript nie jest dołączony do OSX. Każda z poniższych metod z przyjemnością ją zainstaluje.
Nie wiem, czy naciskam za bardzo, ale czy możesz mi podać szczegółowe informacje na temat tego, co mam zainstalować i jak? (Pełne zastrzeżenie: jestem dość doświadczonym użytkownikiem i już udało mi się go zainstalować, ale na etapie beta tej witryny chciałbym zobaczyć, ile szczegółów i informacji możemy oczekiwać od osób udzielających odpowiedzi.)
Myślę, że takie pytanie wyszłoby poza zakres SE, ponieważ na ich stronie są już dostępne bardzo szczegółowe dokumenty. Bardziej odpowiednim pytaniem w tym przypadku, o ile to widzę, byłoby opublikowanie pytania związanego z instalacją po próbie jej zainstalowania, instalacja kończy się niepowodzeniem po wielu próbach, a wyszukiwanie w sieci daje niewiele lub nie daje żadnych odpowiedzi.
#3
+2
Martin Marconcini
2010-09-22 18:24:41 UTC
view on stackexchange narkive permalink

Nie znam żadnego narzędzia natywnego systemu OS X, które to robi, jednak większość poleceń unix / linux można zainstalować za pomocą jednej z trzech poniższych metod:

Homebew: Homebrew to najłatwiejszy i najbardziej elastyczny sposób instalacji narzędzi UNIX, których Apple nie zawierał w OS X.

Fink: The Fink chce wnieść pełny świat oprogramowania Unix Open Source do Darwina i Mac OS X.

Macports: The MacPorts Project to inicjatywa społeczności open source mająca na celu zaprojektowanie łatwego do użycia system do kompilowania, instalowania i uaktualniania oprogramowania open source opartego na linii poleceń, X11 lub Aqua w systemie operacyjnym Mac OS X.

Homebrew to „nowy dzieciak na rynku” i obiecuje rozwiązać „problemy i ograniczenia”, które mają pozostali dwaj (jakiekolwiek by one nie były). Proponuję przyjrzeć się im wszystkim i użyć tego, co uważasz za najbardziej elastyczne / proste dla swoich potrzeb.

Istnieje jednak aplikacja (Payware), która używała zrób to (nie wiem, czy nadal to robi). Mówię o DEVONthink i przez kilka dni możesz wypróbować wersję demonstracyjną.

aktualizacja : Zgodnie z tym postem, można zainstalować DevonThink (wersja próbna) i rozpakować plik binarny „pdftotext” " który jest bezpłatny , oczywiście „[sic] poza pakietem.

Dzięki za wskazówki, ale który z nich faktycznie zawierałby „ps2ascii”? A który wolę?
MacPorts obsługuje Ghostscript 9 (najnowsza wersja).
Natywnym narzędziem OS X jest aplikacja Adobe Reader, która ma opcję Zapisz jako tekst.
#4
+1
mouviciel
2010-09-22 20:05:10 UTC
view on stackexchange narkive permalink

Jeśli nie masz nic przeciwko używaniu GUI, możesz wybrać tekst z pliku PDF otwartego za pomocą Preview.app

Dzięki, to wydaje się działać w prostych przypadkach. Ale mam bardzo duży dokument (ponad 1000 stron) i prawie powoduje awarię systemu, po prostu próbując zaznaczyć wszystko!
Niecodziennym rozwiązaniem związanym z powyższą odpowiedzią jest to, że Acrobat * 7 * faktycznie wykonał zaskakująco czyste ekstrakcje tekstu (ale lepiej jest użyć odpowiedniego narzędzia, takiego jak ghostscript do czegoś tak dużego).
#5
+1
zarfishan
2012-11-07 10:04:32 UTC
view on stackexchange narkive permalink

Korzystaj z internetowych konwerterów dokumentów, takich jak Saaspose.PDF, które umożliwiają konwersję plików PDF do dokumentów opartych na formacie TXT. A ponieważ jest to interfejs API chmury, nie ma potrzeby pobierania ani instalowania czegokolwiek.

#6
+1
benwiggy
2019-02-27 02:01:26 UTC
view on stackexchange narkive permalink

Poniższy skrypt w języku Python wyprowadzi tekst z dokumentu PDF do pliku .txt. (Uwaga: nie ma gwarancji, że tekst jest koniecznie w „logicznym” porządku czytelnym dla człowieka, ze względu na sposób przechowywania danych w formacie PDF.)

Skrypt utworzy pliki tekstowe dla dowolnych plików PDF dostarczonych jako argumenty w wierszu poleceń (np. pdf2txt.py myPDF.pdf ) lub możesz użyć funkcji „Uruchom skrypt powłoki” Automatora action, ustawiając typ powłoki na python i Pass input to "As arguments".

  #! / usr / bin / python
kodowanie: utf-8

import os, sys
z Quartz importuj PDFDocument
z importu CoreFoundation (NSURL, NSString)
NSUTF8StringEncoding = 4

def pdf2txt ():
    nazwa pliku w sys.argv [1:]:
        inputfile = nazwa_pliku.decode ('utf-8')
        shortName = os.path.splitext (nazwa pliku) [0]
        outputfile = shortName + "text.txt"
        pdfURL = NSURL.fileURLWithPath_ (plik wejściowy)
        pdfDoc = PDFDocument.alloc (). initWithURL_ (pdfURL)
        jeśli pdfDoc:
            pdfString = NSString.stringWithString_ (pdfDoc.string ())
            pdfString.writeToFile_atomically_encoding_error_ (outputfile, True, NSUTF8StringEncoding, None)

if __name__ == "__main__":
   pdf2txt ()
 
Dla przypomnienia: wymaga to `pip install pyobjc`.
@Itachi Nie, nie działa: w systemie MacOS od Snow Leopard do Catalina zabraknie z pudełka.
Jestem trochę zdezorientowany, więc skąd się wzięły „Quartz” i „CoreFoundation”?Czy jest to wbudowany pakiet Python dla systemu macOS?
MacOS jest dostarczany z Pythonem 2.7 i zawiera pyObjC 2.5.1.Możesz zaktualizować do nowszej wersji pyObjC, jeśli chcesz zwiększyć funkcje i poprawki błędów - lub nawet zainstalować go w python3.Ale fabryczny system operacyjny był dostarczany z tą samą wersją przez około 10 lat lub dłużej.
Wyciągnięta lekcja.Dzięki!


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 2.0, w ramach której jest rozpowszechniana.
Loading...