Domanda:
Come convertire un file pdf in un file di testo?
Juan A. Navarro
2010-09-22 17:30:47 UTC
view on stackexchange narkive permalink

Esiste un modo semplice per estrarre testo normale da un file pdf?

Sui sistemi * nix avevo un comando ps2ascii che avrebbe funzionato, ma sembra che questo comando non sia installato di default sul mio Mac.

Quale sarebbe il modo più semplice per estrarre il testo da un file pdf o, in alternativa, come ottenere ps2ascii sul mio sistema?

Sei risposte:
ghoppe
2010-09-24 00:50:03 UTC
view on stackexchange narkive permalink

Adobe Reader ha un'opzione "Salva come testo ..." nel menu File. Il modo più semplice.

Grazie! Questa è di gran lunga la soluzione più semplice, è stata in grado di far fronte al mio enorme file senza problemi e ha prodotto un output di testo ragionevolmente pulito e utilizzabile.
Sì, è l'output più semplice, ma non sempre il più pulito. v7 produce il meglio, ma le cose vanno in tilt prima e dopo. Parte del mio lavoro è fornire versioni in testo semplice di libri di testo universitari a studenti universitari disabili. Ho molta esperienza con questo, ed è per questo che consiglio Ghostscript se cerchi l'opzione gratuita.
@ghoppe grazie a questa semplice opzione ma non è disponibile nella versione per mac di adobe, come farlo in adobe tramite Adobe Reader?
Philip Regan
2010-09-22 18:51:28 UTC
view on stackexchange narkive permalink

ps2ascii fa parte di Ghostscript, che può essere installato su Mac OS X (e potrebbe già essere di default dalla fabbrica).

Ghostscript non è incluso con OSX. Anche se uno qualsiasi dei metodi elencati di seguito lo installerebbe felicemente.
Non so se lo sto spingendo troppo, ma potresti fornirmi dettagli su esattamente cosa devo installare e come? (Dichiarazione di non responsabilità completa: sono un utente abbastanza esperto e sono già riuscito a installarlo, ma nella fase beta di questo sito vorrei vedere quanti dettagli e informazioni ci dobbiamo aspettare dalle persone che danno risposte.)
Penso che una domanda del genere esca dall'ambito di SE poiché sul loro sito sono già disponibili documenti molto dettagliati. Una domanda più adatta in questo caso, per quanto la vedo io, sarebbe quella di pubblicare una domanda relativa all'installazione dopo aver provato a installarla, l'installazione fallisce dopo ripetuti tentativi e la ricerca sul web fornisce poche o nessuna risposta.
Martin Marconcini
2010-09-22 18:24:41 UTC
view on stackexchange narkive permalink

Non sono a conoscenza di alcuna utility nativa di OS X che lo faccia, tuttavia, puoi installare la maggior parte dei comandi unix / linux con uno qualsiasi di questi tre metodi:

Homebew: Homebrew è il modo più semplice e flessibile per installare gli strumenti UNIX che Apple non ha incluso con OS X.

Fink: The Fink progetto vuole portare l'intero mondo del software Unix Open Source su Darwin e Mac OS X.

Macports: Il progetto MacPorts è un'iniziativa della comunità open source per progettare un facile sistema da usare per la compilazione, l'installazione e l'aggiornamento del software open source basato su riga di comando, X11 o Aqua sul sistema operativo Mac OS X.

Homebrew è il "nuovo ragazzo del blocco" e promette di risolvere i "problemi e limitazioni" che hanno gli altri due (qualunque siano questi problemi). Ti suggerisco di dare un'occhiata a tutti e di utilizzare ciò che ritieni più flessibile / semplice per le tue esigenze.

Esiste, tuttavia, un'app (Payware) che utilizzava fallo (non so se lo fa ancora). Sto parlando di DEVONthink e puoi provare una demo per alcuni giorni.

aggiornamento : secondo questo post, potresti installare DevonThink (versione di prova) ed estrarre il binario "pdftotext" " che è gratuito , ovviamente "[sic] fuori dal pacchetto.

Grazie per i suggerimenti, ma quale di questi conterrebbe effettivamente `ps2ascii`? E quale dovrei preferire?
MacPorts gestisce Ghostscript 9 (l'ultima versione).
L'utilità nativa di OS X è l'applicazione Adobe Reader, che ha Salva come testo.
mouviciel
2010-09-22 20:05:10 UTC
view on stackexchange narkive permalink

Se non ti dispiace usare una GUI, puoi selezionare il testo da un PDF aperto con Preview.app

Grazie, sembra funzionare per casi semplici. Ma ho un documento molto grande (oltre 1000 pagine) e quasi il sistema si blocca semplicemente provando a selezionare tutto!
Una soluzione insolita relativa alla risposta di cui sopra è che Acrobat * 7 * ha effettivamente realizzato estrazioni di testo sorprendentemente pulite (ma è meglio usare un'utilità adeguata come ghostscript per qualcosa di così grande).
zarfishan
2012-11-07 10:04:32 UTC
view on stackexchange narkive permalink

Utilizza convertitori di documenti online come Saaspose.PDF che possono convertire il tuo file PDF in un documento basato su TXT. E poiché è un'API cloud, non è necessario scaricare o installare nulla.

benwiggy
2019-02-27 02:01:26 UTC
view on stackexchange narkive permalink

Il seguente script python produrrà il testo da un documento PDF in un file .txt. (Nota: non vi è alcuna garanzia che il testo sia necessariamente in un ordine "logico" leggibile dall'uomo, a causa del modo in cui i dati sono conservati nel formato PDF.

Lo script creerà file di testo per qualsiasi file PDF fornito come argomento ad esso sulla riga di comando (ad esempio pdf2txt.py myPDF.pdf ), oppure puoi utilizzarlo in "Esegui script shell" di Automator action, impostando il tipo di shell su python e Passa input su "As arguments".

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

import os, sys
da Quartz importa PDFDocument
dall'importazione CoreFoundation (NSURL, NSString)
NSUTF8StringEncoding = 4

def pdf2txt ():
    per nome file in sys.argv [1:]:
        inputfile = filename.decode ('utf-8')
        shortName = os.path.splitext (nomefile) [0]
        outputfile = shortName + "text.txt"
        pdfURL = NSURL.fileURLWithPath_ (inputfile)
        pdfDoc = PDFDocument.alloc (). initWithURL_ (pdfURL)
        se pdfDoc:
            pdfString = NSString.stringWithString_ (pdfDoc.string ())
            pdfString.writeToFile_atomically_encoding_error_ (outputfile, True, NSUTF8StringEncoding, Nessuno)

se __name__ == "__main__":
   pdf2txt ()
 
Come promemoria: questo richiede `pip install pyobjc`.
@Itachi No: verrà eseguito immediatamente su MacOS da Snow Leopard a Catalina.
Sono un po 'confuso, quindi da dove vengono `Quartz` e` CoreFoundation`?È il pacchetto integrato Python per macOS?
MacOS viene fornito con python 2.7 e include pyObjC v.2.5.1.Puoi aggiornare a una versione più recente di pyObjC, se desideri maggiori funzioni e correzioni di bug, o persino installarlo in python3.Ma il sistema operativo di fabbrica è stato fornito con la stessa versione per circa 10 anni o più.
Lezione imparata. Grazie!


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 2.0 con cui è distribuito.
Loading...