Ottenere il conteggio delle parole di un documento pdf in Evince


22

Esiste un modo per ottenere il conteggio delle parole di un documento PDF che sto visualizzando in Evince, il visualizzatore di file PDF predefinito di Ubuntu? Sono in grado di convertire i documenti in file di testo e ottenere il conteggio delle parole dal terminale, ma mi piacerebbe essere in grado di raggiungerli rapidamente senza dover usare il terminale. C'è qualche plugin che può fare questo, o è già integrato e me lo manca?

PS Preferirei non cambiare il mio visualizzatore poiché Evince è il visualizzatore PDF predefinito in Ubuntu e mi piacerebbe fare il più possibile usando le applicazioni predefinite poiché molti di loro, Evince incluso, sono davvero carini.

pdf  evince 

Risposte:


32

Puoi farlo tramite la riga di comando:

pdftotext filename.pdf - | tr -d '.' | wc -w

Grazie, ma come ho detto nella domanda, preferirei non usare la riga di comando per questo genere di cose.

4
@Chris Prova quindi a integrare il sistema ("<comando sopra>") nel codice evince.
Gödel,

11

Che ne dici di un veloce script bash che richiede zenity ed evince. Quando viene chiamato senza argomento, ti darà una finestra di dialogo in modo da poter scegliere un file. Quando viene chiamato con un argomento (o dopo detta finestra di dialogo), entrambi apriranno il file in evince e ti daranno una finestra di dialogo con un conteggio delle parole.

In altre parole, copia quanto segue in un file di testo, chiamato evince-word-count.sho qualcosa del genere, salvalo da qualche parte nel tuo percorso (ad esempio, ~/bin/), rendilo eseguibile (tramite il tasto destro e le proprietà di Nautilus o con chmod +x ~/bin/evince-word-count.sh),

#!/bin/bash
if [ "$#" -gt "0" ] ; then
    filename="$1"
else
    filename="$(zenity --file-selection)"
fi
evince "$filename" &
zenity --info --text "This PDF has $(pdftotext "$filename" - | tr -d '.' | wc -w) words"
exit 0

Ora, fai clic con il tasto destro del mouse su alcuni PDF in nautilus, scegli "Apri con ..." e poi aprilo con evince-word-count.sh. Ora, quando apri un PDF, entrambi si apriranno in modo evidente e ti daranno un conteggio delle parole.

testo alternativo


È possibile inserire questo file in /home/$USER/.local/share/nautilus/scripts/ che lo rende disponibile facendo clic con il tasto destro del mouse su Nautilus (Ubuntu vanilla file mananger).
Daniel Holm,

10

Una risposta di Olaf Leidinger sulla mailing list di Evince:

Penso che una tale funzione sia più adatta agli editor di documenti, in quanto hanno più informazioni sul documento come visualizzatore semplice e il conteggio delle parole è banale. Prendi un file PDF come esempio. Quello che vedi come testo potrebbe in realtà essere una sorta di forma grafica vettoriale. Anche se il testo è contenuto come tale nel file PDF, quelle parole che vedi potrebbero essere composte da più comandi "disegna testo in posizione (y, x)" - comandi - ad es. In caso di umlaut o fine riga. Quindi una singola parola potrebbe essere considerata come più parole. Pertanto, penso che potrebbe essere difficile implementare una funzionalità del genere in modo affidabile. Dai un'occhiata a pdftotext per capire cosa intendo.

2
Qualunque file venga utilizzato per definire il documento potrebbe essere considerato "codice sorgente" ed Evince è la macchina che esegue il codice. È ingiusto (e impossibile) chiedere all'editor del codice sorgente (ad esempio un editor di testo) di determinare quale sarà l'output dell'esecuzione, quindi diamo un'occhiata all'output (ovvero l'immagine / testo renderizzati in Evince / poppler). L'implementazione in Evince mi sarebbe utile dal momento che sto "codificando" i miei documenti in un editor di testo indipendente dalla lingua e utilizzo Evince (tramite Pandoc e pdflatex) per "eseguire" la mia fonte. Solo alla fine possiamo essere certi di ciò che è riuscito a superare. Considera il codice commentato.
user29020

4

Non credo sia possibile (beh, è ​​tecnicamente possibile ma non è stato implementato).

Devi ricordare che Evince è un visualizzatore di documenti e il conteggio delle parole è una funzione più richiesta in un editor (sì, lo so che non è sempre il caso).

Potresti contattare gli sviluppatori di Evince e chiedere se avrebbero interesse a implementare questa funzione.


1
Grazie. Li ho contattati e terrò aperta la domanda fino a quando non avrò una risposta definitiva.

Quando ascolti, sentiti libero di rispondere efficacemente alla tua domanda :)
8128

Evince non è strettamente uno "spettatore". La creazione e la visualizzazione e la modifica di un documento è chiaramente un flusso di lavoro più ampio rispetto alla semplice "modifica" e quindi alla "visualizzazione". Per quanto riguarda la domanda: Evince attualmente consente di copiare testo selezionato. Questo non è strettamente un ruolo di "visualizzazione". Evince è in ottima posizione per scoprire il conteggio delle parole risultanti poiché è il "renderer" finale di ciò che effettivamente leggiamo (o inviamo all'editore). Ha già un modo per identificare le parole intere rese (prova a fare doppio clic su una parola!). Mi piacerebbe che Evince fornisse questo nella casella "File-> Proprietà". Mi dice già il conteggio delle pagine (basato sul rendering).
user29020
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.