Este artículo presenta 2 herramientas para convertir documentos PDF a texto editable en Linux mediante una herramienta gráfica (calibre) y una herramienta de línea de comandos (pdftotext).
Vale la pena señalar que las dos herramientas mencionadas en este artículo para extraer texto de archivos PDF no pueden extraer el texto si el PDF está formado por imágenes (p. ej., páginas/imágenes escaneadas de libros).
Convertir PDF a texto con Calibre (GUI)
calibre es un paquete de software de libros electrónicos gratuito y de código abierto. Admite la organización, visualización, edición y conversión de libros electrónicos y admite una amplia variedad de formatos. La aplicación se ejecuta en Linux, macOS y Microsoft Windows.
Calibre debería estar disponible en los repositorios de su distribución de Linux, y debería poder instalarlo usando cualquier tienda de software que tenga en su sistema. Por ejemplo, para instalarlo en Debian, Ubuntu, Linux Mint, Fedora, openSUSE o Arch Linux use:
- Debian, Ubuntu o Linux Mint:
sudo apt install calibre
- Fedora:
sudo dnf install calibre
- abrir SUSE:
sudo zypper install calibre
- Arco Linux:
sudo pacman -S calibre
Calibre también se puede instalar en Linux usando el paquete Flathub (requiere Configurar Flathub/Flatpak en algunas distribuciones de Linux).
Existe otra forma de instalar calibre en Linux, que se explica en la página de descarga de la aplicación, donde también puede encontrar archivos binarios para macOS y Windows.
Relacionado:Cómo convertir PDF a imagen (PNG, JPEG) usando GIMP o la herramienta de línea de comandos pdftoppm
Después de instalar calibre en su sistema, inícielo y haga clic en Add books
para agregar el PDF (o varios PDF; calibre admite la conversión por lotes de varios archivos PDF a texto) que desea convertir a texto.
De la lista de libros, seleccione el PDF (o varios PDF para la conversión por lotes a .txt) que desea convertir a texto y haga clic en Convert books
Botón. En la esquina superior derecha de la ventana de conversión, seleccione TXT como Output format
:
Hay muchas opciones que puede modificar en este cuadro de diálogo de conversión. Por ejemplo, puede eliminar automáticamente el espacio entre párrafos o insertar una línea en blanco entre párrafos (Look & Feel -> Layout
). También puede configurar la codificación de caracteres y el estilo de final de línea (Sistema, Unix, Windows, old_mac) e incluso formatearlo en Markdown.
Una vez que haya terminado con la configuración, haga clic en OK
Botón para comenzar a convertir el archivo PDF a texto. El archivo .txt convertido está en el directorio donde especificó la ubicación de la biblioteca de calibre (y luego en AuthorName/BookName
subcarpetas; si no se puede determinar el autor o el nombre del libro, la subcarpeta se llama "Desconocido").
Lo que le falta a calibre en este caso es una forma de convertir solo una página o un rango de páginas; actualmente solo puede convertir archivos PDF completos a texto.
Relacionado con PDF:Cómo crear formularios PDF rellenables con LibreOffice Writer
Convertir PDF a texto con pdftotext (línea de comando)
pdftotext es una utilidad de línea de comandos que convierte archivos PDF en texto sin formato. Ofrece muchas opciones, incluida la capacidad de especificar el rango de páginas para convertir, preservar lo mejor posible el diseño físico original del texto, establecer finales de línea (Unix, DOS o Mac) e incluso trabajar con archivos PDF protegidos con contraseña.
pdftotext es parte del paquete poppler / poppler-utils / poppler-tools (dependiendo de la distribución de Linux utilizada). Instale este paquete de la siguiente manera:
- Debian, Ubuntu, Linux Mint y otras distribuciones de Linux basadas en Debian/Ubuntu:
sudo apt install poppler-utils
- Fedora:
sudo dnf install poppler-utils
- abrir SUSE:
sudo zypper install poppler-tools
- Arco Linux:
sudo pacman -S poppler
En otras distribuciones de Linux, use su administrador de paquetes para instalar el paquete poppler / poppler-utils.
Ahora que el paquete está instalado, puede Convertir un archivo PDF a texto sin formato y mantener su diseño igual (Recomiendo usar este -layout
Opción para mantener el diseño físico original, pero puede probar sin él) con:
pdftotext -layout input.pdf output.txt
Tienes que reemplazar input.pdf
con el nombre del archivo PDF y output.txt
con el nombre con el que se llamará al archivo TXT generado. Si es necesario, agregue las rutas delante de los nombres de los archivos (por ejemplo, ~/Documents/mypdf.pdf
). Si no se especifica ningún archivo de texto de salida, pdftotext nombra el archivo con el mismo nombre que el archivo PDF original.
La opción de diseño conserva el diseño del PDF cuando se convierte a texto, incluso en casos de PDF de varias columnas.
¿Qué sucede si solo desea convertir un rango de páginas del PDF a texto en lugar del PDF completo? Usa -f
(primera página a convertir) y -l
(última página para convertir) seguido del número de página, de la siguiente manera:
pdftotext -layout -f M -l N input.pdf
Sustituye M
y N
con el primer y último número de página a extraer y input.pdf
con el nombre del archivo PDF.
¿Le gustaría utilizar caracteres de final de línea para Mac, DOS o Unix? Puedes hacer esto con también. indicar -eol
seguido de mac
, dos
o unix
. P.ej. para terminaciones de línea Unix:
pdftotext -layout -eol unix input.pdf
Si no desea insertar saltos de página entre páginas, agregue un -nopgbrk
:
pdftotext -layout nopgbrk input.pdf
¿Desea convertir por lotes todos los archivos PDF de una carpeta en archivos de texto? pdftotext no admite la conversión por lotes de PDF a texto (y pdftotext *.pdf
no funciona), pero puede convertir todos los archivos PDF de una carpeta en archivos de texto mediante un bucle Bash FOR:
for file in *.pdf; do pdftotext -layout "$file"; done
Para más opciones, ejecute man pdftotext
y pdftotext --help
.
Es posible que le guste esto:descargue Master PDF Editor 4 para Linux (versión gratuita)