PDF, PS and DjVu (Español)
Este artículo cubre el software para ver, editar y convertir PDF, PostScript (PS), DjVu (déjà vu) y archivos XPS.
Motores
- Poppler — Biblioteca de renderizado de PDF basada en Xpdf. Para soportar CJK (Chino, Japonés, Koreano) con Poppler, instale poppler-data.
- Mupdf — MuPDF es un visor de PDF, XPS y EPUB ligero, que consta de una biblioteca de software, herramientas de línea de órdenes y visores.
- libspectre — Pequeña biblioteca para renderizar documentos PostScript.
-
Ghostscript — Intérprete para PostScript y PDF. Proporciona la interfaz de línea de órdenes gs(1), véase también
/usr/share/doc/ghostscript/*/Use.htm
(online), junto con muchos scripts como ps2pdf y pdf2ps.
- DjVuLibre — Suite para crear, manipular y ver documentos DjVu.
- libgxps — Biblioteca basada en GObject para manejar y renderizar documentos XPS.
Visores
Framebuffer
- fbgs — Visor de PostScript/pdf de los pobres para la consola framebuffer de Linux.
- fbpdf — Pequeño visor de framebuffer PDF y DjVu basado en MuPDF, con atajos de teclado Vim y escrito en C
- jfbview — Framebuffer PDF y visor de imágenes. Las características incluyen controles tipo Vim, zoom para ajustar, una vista TOC (esquema), renderizado rápido de subprocesos múltiples y pre-almacenamiento en caché asíncrono.
Gráficos
- Adobe Reader — Visor de archivos PDF propietario ofrecido por Adobe. Descontinuado para Linux.
- apvlv — Visor de documentos ligero con atajos de teclado Vim. Soporta PDF, DjVu, UMD y TXT.
- Atril — Visor de documentos multi-página simple para MATE. Soporta DjVu, DVI, EPS, EPUB, PDF, PostScript, TIFF, XPS y Comicbook.
- DjView — Visor para documentos DjVu.
- ePDFView — Visor de documentos PDF ligero utilizando las bibliotecas Poppler y GTK. Desarrollo detenido.
- Emacs — Véase también pdf-tools para mejorar el soporte de pdf (emacs-pdf-tools-gitAUR) y el paquete djvu para soporte djvu.
- Evince — Visor de documentos para GNOME. Soporta DjVu, DVI, EPS, PDF, PostScript, TIFF, XPS y Comicbook.
- Foxit Reader — Pequeño, rápido (comparado con Acrobat) visor propietario de PDF. Discontinuado para Linux.
- gv — Interfaz gráfica de usuario para el intérprete Ghostscript que permite ver y navegar por documentos PostScript y PDF.
- llpp — Lector de PDF muy rápido basado en MuPDF, que admite desplazamiento continuo de páginas, marcadores y búsqueda de texto en todo el documento.
- MuPDF — Visor muy rápido de EPUB, FictionBook, PDF, XPS y Comicbook escrito en C portable. Como característica soporta tipografía CJK.
- Okular — Visor de documentos universal para KDE. Soporta CHM, Comicbook, DjVu, DVI, EPUB, FictionBook, Mobipocket, ODT, PDF, Plucker, PostScript, TIFF y XPS.
- pdfpc — Presentador de Consola con soporte multimonitor para archivos PDF.
- qpdfview — Visor de documentos con pestañas. Utiliza Poppler para soporte PDF, libspectre para soporte PS, DjVuLibre para soporte DjVu, CUPS para soporte de impresión y el Qt toolkit para su interfaz.
- Xpdf — Visor que puede decodificar LZW y leer PDFs cifrados.
- Xreader — Visor de documentos que forma parte del proyecto X-Apps. Soporta DjVu, DVI, EPUB, PDF, PostScript, TIFF, XPS y Comicbook.
- Zathura — Visor de documentos altamente personalizable y funcional (basado en plugin). Soporta PDF, DjVu, PostScript y Comicbook.
Comparativa
El asterisco junto a la biblioteca indica que la dependencia opcional debe instalarse para una función específica.
Nombre | PostScript | DjVu | XPS | PDF forms | Anotación PDF | Licencia | |
---|---|---|---|---|---|---|---|
Adobe Reader | Personalizado | – | – | – | Sí | – | propietario |
apvlv | Poppler | – | DjVuLibre | – | No | – | GPLv2 |
Atril | Poppler | libspectre | DjVuLibre | libgxps | Sí | – | GPLv2 |
DjView | – | – | DjVuLibre | – | – | – | GPLv2 |
Emacs | Ghostscript* | DjVuLibre* | – | No | Sí | GPLv3 | |
ePDFView | Poppler | – | – | – | No | – | GPLv2 |
Evince | Poppler | libspectre | DjVuLibre | libgxps | Sí | Sí | GPLv2 |
Foxit Reader | Personalizado | – | – | – | Sí | Sí | propietario |
gv | Ghostscript | – | – | No | – | GPLv3 | |
llpp | libmupdf | – | – | libmupdf | Sí | – | GPLv3 |
MuPDF | Personalizado | – | – | Personalizado | Sí | Sí | AGPLv3 |
Okular | Poppler | libspectre | DjVuLibre | Personalizado | Sí | Sí | GPL, LGPL |
pdfpc | Poppler | – | – | – | No | – | GPLv2 |
qpdfview | Poppler | libspectre* | DjVuLibre* | – | Sí | Sí | GPLv2 |
Xpdf | Personalizado | – | – | – | No | – | GPLv3 |
Xreader | Poppler | libspectre* | DjVuLibre* | libgxps* | Sí | Sí | GPLv2 |
Zathura | Poppler* / libmupdf* | libspectre* | DjVuLibre* | libmupdf* | No | – | zlib |
PDF forms
La columna PDF Forms en la tabla anterior se refiere al soporte AcroForms.Si no necesita que lo que introduzca sea directamente extraíble del PDF, también puede utilizar las aplicaciones en #Anotación o #Edición gráfica de PDF para poner texto encima de un PDF. Los formularios PDF se pueden crear con LibreOffice Writer (Ver > Barras de herramientas > Controles de formulario) y los editores de PDF avanzados.
El formato propietario y en desuso XFA para formularios, no es totalmente compatible con Poppler[1][2] y solo es soportado por Adobe Reader y Master PDF Editor.
Alternativamente, los navegadores web como Firefox o Chromium cuentan con un visor de PDF integrado capaz de completar formularios.
Anotación
- flpsed — Un anotador PostScript y PDF, solo soporta cajas de texto.
Véase también List of applications/Documents#Stylus note-taking.
Edición gráfica de PDF
- Scribus puede importar y exportar PDF; el texto se importa como polígonos.[3]
- LibreOffice Draw puede importar y exportar PDF; el texto se importa como texto; las fuentes incrustadas se sustituyen.[4][5]
- Inkscape puede importar una sola página desde un PDF y exportar a PDF; el texto se importa como glifos clonados o texto; con este último se sustituyen las fuentes incrustadas.
- Editores gráficos como GIMP y krita también pueden importar y exportar archivos PDF a costa de la rasterización.
Editores básicos
- jPDF Tweak — Aplicación Java Swing que puede combinar, dividir, rotar, reordenar, usar marcas de agua, cifrar, firmar y modificar archivos PDF.
- PDF Arranger — Ayuda a fusionar o dividir documentos PDF y rotar, recortar y reorganizar páginas. Es una bifurcación mantenida de PDF-Shuffler.
- PDF Chain — Interfaz GTK para PDFtk, escrito en C++, soportando concatenación, ráfaga, marcas de agua, archivos adjuntos y más.
- PDF Mix Tool — Interfaz Qt para PoDoFo, escrito en C++, soporta división, fusión, rotación y mezclado de archivos PDF.
- PDF Mod — Reordenar, rotar y eliminar páginas, exportar imágenes de un documento, editar el título, el tema, el autor y las palabras clave, y combinar documentos mediante arrastrar y soltar.
- PDFsam — Aplicación de código abierto, escrita en Java, soporta fusión, división y rotación.
- https://pdfsam.org/ || pdfsamAUR
- PDF Slicer — Aplicación simple para extraer, fusionar, rotar y reordenar páginas de documentos PDF.
- PDF Tricks — Aplicación simple y eficiente para pequeñas manipulaciones en archivos PDF utilizando Ghostscript.
Herramientas de corte
- briss — GUI de Java para recortar páginas de documentos PDF en una o más regiones seleccionadas.
- krop — Herramienta gráfica simple para recortar las páginas de archivos PDF.
- pdfCropMargins — Recorta automáticamente los márgenes de los archivos PDF.
- PdfHandoutCrop — Herramienta para recortar folletos en PDF con varias páginas por hoja.
Editores avanzados
- Master PDF Editor — Editor de PDF funcional y propietario. Gratis para uso no comercial.
- PDF Studio — Editor de PDF propietario todo-en-uno similar a Adobe Acrobat.
Herramientas PDF
Véase también Ghostscript.
- Coherent PDF — Herramientas de línea de órdenes para manipular archivos PDF que incluyen fusionar, cifrar, descifrar, escalar, recortar, rotar, marcadores, sellos, logotipos, números de página.
- DiffPDF — Compare el texto o la apariencia visual de cada página en dos archivos PDF.
- mupdf-tools — Herramientas desarrolladas como parte de MuPDF, contienen mutool(1) y muraster.
- pdfgrep — Utilidad de línea de órdenes para buscar texto en archivos PDF.
- pdfjam — Se puede utilizar para n-up, unir, rotar y voltear PDF y organizarlos en un formato adecuado para encuadernación de libros.
- pdf2svg — Convierte archivos PDF a archivos SVG.
- PDFtk — Herramienta simple para hacer cosas cotidianas con documentos PDF.
- QPDF — Sistema de transformación de PDF con conservación de contenido.
- Stapler — Alternativa ligera a PDFtk utilizando la biblioteca PyPDF2.
Crea un PDF a partir de imágenes
Con GraphicsMagick:
$ gm convert 1.jpg 2.jpg 3.jpg out.pdf
Concatenar PDFs
Con Ghostscript:
$ gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=out.pdf -dBATCH 1.pdf 2.pdf 3.pdf
Con PDFtk:
$ pdftk 1.pdf 2.pdf 3.pdf cat output out.pdf
Con Poppler:
$ pdfunite 1.pdf 2.pdf 3.pdf out.pdf
Con QPDF:
$ qpdf --empty --pages 1.pdf 2.pdf 3.pdf -- out.pdf
Convertir un PDF a texto
Con Poppler y manteniendo el diseño:
$ pdftotext -layout in.pdf out.txt
Véase también pdftotext(1).
Descifrar un PDF
Esta sección enumera los comandos para descifrar un PDF en un archivo sin cifrar. Tenga en cuenta que la mayoría de visores PDF también soportan archivos PDF cifrados.
Con PDFtk:
$ pdftk in.pdf input_pw contraseña output out.pdf
Con Poppler a PostScript:
$ pdftops -upw contraseña in.pdf out.ps
Con QPDF:
$ qpdf --decrypt --password=contraseña in.pdf out.pdf
Cifrar un PDF
La contraseña_de_usuario se utiliza para el cifrado, la contraseña_de_propietario para restringir las operaciones una vez que se descifra el documento, para más información, véase Wikipedia:PDF#Security and signatures.
Con PDFtk:
$ pdftk in.pdf output out.pdf user_pw contraseña
Con PoDoFo:
$ podofoencrypt -u contraseña_de_usuario -o contraseña_de_propietario in.pdf out.pdf
Con QPDF:
$ qpdf --encrypt contraseña_de_usuario contraseña_de_propietario longitud_de_la_clave -- in.pdf out.pdf
donde longitud_de_la_clave
puede ser 40, 128 ó 256.
Extraer imágenes de un PDF
Con Poppler a JPEG:
$ pdfimages entrada.pdf -j prefijo_salida
Extraer un rango de página del PDF, dividir el documento PDF de varias páginas
Con Ghostscript como un solo archivo[6]
$ gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER -dFirstPage=primero -dLastPage=último -sOutputFile=salida.pdf entrada.pdf
Con PDFtk como un solo archivo:
$ pdftk entrada.pdf cat primero-último output salida.pdf
Con Poppler como archivos separados:
$ pdfseparate -f primero -l último entrada.pdf prefijo_salida-%d.pdf
Con QPDF como un solo archivo:
$ qpdf --empty --pages entrada.pdf primero-último -- salida.pdf
Con mutool como un solo archivo:
$ mutool clean -g entrada.pdf salida.pdf primero-último
Imponiendo un PDF
La imposición PDF puede hacerse con pdfjam, por ejemplo, el desperdicio de papel se puede reducir con pdfnup y pdfbook se puede utilizar para organizar archivos PDF en un formato adecuado para encuadernación de libros.
Inspeccionar metadatos
Con ExifTool:
$ exiftool archivo.pdf
Con Poppler:
$ pdfinfo archivo.pdf
Optimizar, reducir el tamaño de un PDF
Con Ghostscript uno de:
$ ps2pdf -dPDFSETTINGS=/screen in.pdf out.pdf $ gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -sOutputFile=out.pdf in.pdf
Para distintas configuraciones véase la documentación.
También está shrinkpdfAUR, un script que envuelve gs.
Rasterizar un PDF
Con GraphicsMagick para convertir una página específica:
$ gm convert -density dpi entrada.pdf[página] salida.jpg
Con Poppler para convertir todas las páginas:
$ pdftoppm -jpeg -r dpi entrada.pdf prefijo_salida
Con Poppler para convertir una página específica:
$ pdftoppm -jpeg -r dpi -f página -singlefile entrada.pdf prefijo_salida
División de páginas PDF
Con mupdf-tools para dividir cada página verticalmente en dos páginas:
$ mutool poster -y 2 in.pdf out.pdf
Se puede utilizar para deshacer imposiciones simples.
Añadir firma.png o imagen a una de las páginas del PDF
Para añadir una imagen en cualquier ubicación en un PDF se puede hacer con ImageMagick (convertir), xv y pdftk. Un script está aquí y otros consejos están aquí.
Herramientas DjVu
- DjVuLibre proporciona muchas herramientas de línea de órdenes, como por ejemplo ddjvu(1).
- img2djvu — Codificador DjVu de una sola pasada basado en DjVu Libre e ImageMagick.
- pdf2djvu — Crea archivos DjVu a partir de archivos PDF.
Convertir DjVu a imágenes
Divide Djvu en páginas separadas:
$ djvmcvt -i input.djvu /ruta/al/directorio/de/salida output-index.djvu
Convierte páginas Djvu en imágenes:
$ ddjvu --format=tiff page.djvu page.tiff
Convierte páginas Djvu en PDF:
$ ddjvu --format=pdf inputfile.djvu ouputfile.pdf
También puedes utilizar --page para exportar páginas específicas:
$ ddjvu --format=tiff --page=1-10 input.djvu output.tiff
esto convertirá las páginas de 1 a 10 en un archivo tiff.
Procesando imágenes
Puedes utilizar scantailor-advanced para:
- corregir la orientación
- dividir páginas
- enderezar
- recortar
- ajustar márgenes
Crear DjVu desde imágenes
Hay un script útil en img2djvu-gitAUR.
$ img2djvu -c1 -d600 -v1 ./salida
esto creará out.djvu
con 600 DPI de todos los archivos en en directorio ./salida
.
Alternativamente, puede probar didjvuAUR, que parece crear archivos más pequeños especialmente en imágenes con fondo bien definido.
Herramientas PostScript
- pstotext — Convierte archivos PostScript a texto.
ps2pdf
ps2pdf es una envoltura alrededor de ghostscript para convertir PostScript a PDF:
$ ps2pdf -sPAPERSIZE=a4 -dOptimize=true -dEmbedAllFonts=true YourPSFile.ps
Explicación:
-
-sPAPERSIZE=something
define el tamaño del papel. Para valores válidos de PAPERSIZE, véase [7]. -
-dOptimize=true
permite que el PDF creado se optimice para la carga. -
-dEmbedAllFonts=true
hace que las fuentes se vean siempre bonitas.
-sPAPERSIZE
especificado, porque los archivos EPS generalmente no contienen información de orientación del papel. Una solución es crear un nuevo documento en la configuración de ghostscript (llámelo p.e. "slide") y utilícelo como -sPAPERSIZE=slide
.Bibliotecas
- libharu — Biblioteca C para generar documentos PDF.
- https://github.com/libharu/libharu || libharu, Lua binding: lua-hpdfAUR
- PoDoFo — Una biblioteca de C++ para trabajar con el formato de archivo PDF.
Python
- PDFMiner — Utilidades para extraer, analizar datos de texto de archivos PDF. Incluye pdf2txt, dumppdf, y latin2ascii
- https://www.unixuser.org/~euske/python/pdfminer/ || python-pdfminer, pdfminerAUR, python-pdfminer.sixAUR
- pdfrw — Una biblioteca puramente Python que lee y escribe archivos PDF.
- PyPDF2 — Una biblioteca puramente Python construida como un toolkit PDF.
- https://mstamy2.github.com/PyPDF2[enlace roto 2021-05-17] || python-pypdf2AUR, python2-pypdf2AUR
- PyX — Biblioteca de Python para la creación de archivos PostScript y PDF.
- ReportLab — Una solución comprobada de generación de PDF.
- https://bitbucket.org/rptlab/reportlab[enlace roto 2021-05-17] || python-reportlab, python2-reportlabAUR