Obtener el recuento de palabras de un documento pdf en Evince

22

¿Hay alguna forma de obtener el recuento de palabras de un documento PDF que estoy viendo en Evince, el visor de PDF predeterminado de Ubuntu? Puedo convertir los documentos en archivos de texto y obtener el recuento de palabras desde el terminal, pero me gustaría poder acceder rápidamente a ellos sin tener que usar el terminal. ¿Hay algún complemento que pueda hacer esto, o ya está integrado y simplemente me lo estoy perdiendo?

PD: Prefiero no cambiar mi visor, ya que Evince es el visor de PDF predeterminado en Ubuntu, y me gustaría hacer todo lo posible utilizando las aplicaciones predeterminadas, ya que muchas de ellas, Evince incluida, son realmente agradables.


fuente

Respuestas:

32

Puede hacer esto a través de la línea de comando:

pdftotext filename.pdf - | tr -d '.' | wc -w
Sid
fuente
Gracias, pero como dije en la pregunta, prefiero no tener que usar la línea de comando para este tipo de cosas.
44
@Chris Intente integrar el sistema ("<comando arriba>") en el código de prueba entonces.
Gödel
11

¿Qué tal un script de bash rápido que requiere zenity y evince ? Cuando se llama sin un argumento, le dará un cuadro de diálogo para que pueda elegir un archivo. Cuando se le llama con un argumento (o después de dicho cuadro de diálogo), ambos abrirán el archivo de manera evidente y le darán un cuadro de diálogo con un recuento de palabras.

En otras palabras, copie lo siguiente en un archivo de texto, llamado evince-word-count.sho algo así, guárdelo en algún lugar de su ruta (por ejemplo, ~/bin/), hágalo ejecutable (ya sea a través del clic derecho y las propiedades de 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

Ahora, haga clic derecho en algunos de algunos PDF en nautilus, elija "Abrir con ..." y luego ábralo con evince-word-count.sh. Ahora, cuando abre un PDF, ambos se abrirán en evidencia y le darán un recuento de palabras.

texto alternativo

precioso
fuente
Puede poner este archivo en /home/$USER/.local/share/nautilus/scripts/ que lo hace disponible haciendo clic derecho en Nautilus (Ubuntu vanilla file mananger).
Daniel Holm
10

Una respuesta de Olaf Leidinger en la lista de correo de Evince:

Creo que esta característica es más adecuada para los editores de documentos, ya que tienen más información sobre el documento como un simple visor y contar palabras es trivial. Tome un archivo PDF como ejemplo. Lo que ves como texto en realidad podría ser algún tipo de forma de gráfico vectorial. Incluso si el texto está contenido como tal en el archivo PDF, esas palabras que vea podrían estar compuestas de múltiples "dibujar texto en la posición (y, x)" - comandos - por ejemplo, en el caso de diéresis o final de línea. Por lo tanto, una sola palabra puede contar como varias palabras. Por lo tanto, creo que podría ser difícil implementar dicha función de manera confiable. Echa un vistazo a pdftotext para ver a qué me refiero.

fuente
2
Cualquier archivo que se use para definir el documento podría considerarse "código fuente", y Evince es la máquina que ejecuta el código. Es injusto (e imposible) pedirle al editor de código fuente (por ejemplo, un editor de texto) que determine cuál será el resultado de la ejecución, así que veamos el resultado (es decir, la imagen / texto renderizado en Evince / poppler). La implementación en Evince me sería útil ya que estoy "codificando" mis documentos en un editor de texto independiente del lenguaje y uso Evince (a través de Pandoc y pdflatex) para "ejecutar" mi fuente. Solo al final podemos estar seguros de lo que pasó. Considere el código comentado.
user29020
4

No creo que sea posible (bueno, técnicamente es posible pero no se ha implementado).

Debe recordar que Evince es un visor de documentos y un conteo de palabras es una característica que generalmente se requiere en un editor (sí, sé que este no es siempre el caso).

Puede contactar a los desarrolladores de Evince y preguntarles si tendrían algún interés en implementar esta función.

8128
fuente
1
Gracias. Me puse en contacto con ellos y mantendré la pregunta abierta hasta que obtenga una respuesta definitiva.
Cuando te responda, no dudes en responder tu propia pregunta :)
8128
Evince no es estrictamente un "espectador". Crear, ver y editar un documento es claramente un flujo de trabajo mayor que simplemente "editar" y luego "ver". En cuanto a la pregunta: Evince actualmente permite copiar texto seleccionado. Ese no es estrictamente un rol de "vista". Evince está en una excelente posición para averiguar el recuento de palabras resultante, ya que es el "procesador" final de lo que realmente leemos (o enviamos al editor). Ya tiene una forma de identificar palabras completas representadas (¡intente hacer doble clic en una palabra!). Me encantaría que Evince proporcione esto en el cuadro "Archivo-> Propiedades". Ya me dice el recuento de páginas (basado en la representación).
user29020