Convertir DJVU a PDF


40

Quiero convertir un documento DJVU en un documento PDF, separando y preservando la capa de texto y las imágenes al mismo tiempo que mantengo la estructura del DJVU. ¿Cómo puedo hacer esto en Ubuntu?

(Luego usaré Calibre para convertir a ePub / Mobi, por lo que si hubiera un complemento de Calibre para todo este proceso, ¡sería perfecto para mí!)

Nota 1: Imprimir desde Evince, exportar desde DJview o cualquier cosa que use el paquete ddjvu , no son soluciones adecuadas, ya que descartan la capa de texto, guardando solo imágenes.

Nota 2: el uso de DJVULibre parece extraer solo la capa de texto y las imágenes no se extraen . Del mismo modo, copiar el texto "manualmente" pierde la estructura del documento y las imágenes.

Respuestas:


38

Método 1

Simplemente use DJView y exporte como PDF

  1. Goto Synaptic Package Manager
  2. Instalar DJview4
  3. Ejecute DJview (Aplicaciones - Gráficos - DJView4)
  4. Abra su documento .djvu
  5. : Menú - Exportar como: PDF

Método 2

Abra el archivo djvu en evince
Seleccione imprimir ----> imprimir a archivo
cambie .ps a .pdf y haga clic en imprimir

Método 3

  1. Goto Synaptic Package Manager
  2. Instalar

    djvulibre-bin libdjvulibre21 okular-extra-backends evince libevdocument3 libevview3

  3. Ir a la terminal y escribir

     sudo apt-get install libtiff-tools
    
  4. Vaya al directorio donde está presente el archivo djvu. Haga clic en el botón derecho del ratón. Ir a la opción "Abrir en terminal". Haz click en eso. Se abrirá una terminal.

  5. En esa terminal escribe

    ddjvu -format=tiff file_name.djvu file_name.tiff
    tiff2pdf -j -o file_name.pdf file_name.tiff
    

Método 4

También hay un convertidor en línea DjVu a PDF Converter


@Ashu ¿Estás seguro de que esto recupera las fotos?
hayd

Sí, los métodos 1 y 2 funcionaron para mí. no intenté por 3 y .4
Ashu

@Ashu, ¿está extrayendo las imágenes o simplemente copiando toda la página? (¿tiene sentido?)
hayd

¿Intentaste algún método? pruébelo y vea si funciona
Ashu

2
No lo hace (recupera las imágenes o el texto).
hayd

17

Aquí hay una manera, que requeriría algunas herramientas no tan comunes:

  1. ocrodjvu
  2. pdfbeads , que tiene sus propios requisitos que Google puede encontrar

Podemos usar el djvu2hocrcomando (del ocrodjvupaquete) para extraer la capa de texto oculto del archivo DjVu (no hace ningún OCR o similar, solo extrae la capa de texto con geometría), es decir:

djvu2hocr -p 10 sample.djvu | sed 's/ocrx/ocr/g' > pg10.html

sed la intervención corrige los nombres de clase en hOCR de salida (que es simplemente un archivo HTML simple)

Ahora extraemos la página de DjVu a formato TIFF con:

ddjvu -format=tiff -page=10 sample.djvu pg10.tif

para que terminemos con este archivo en nuestra carpeta de trabajo:

sample.djvu
pg10.html
pg10.tif

Aquí es donde pdfbeadsentra en juego, y simplemente ejecutamos:

pdfbeads -o pg10.pdf

entonces este ingenioso programa se encarga de todo lo que está dentro de esta carpeta (archivos HTML y TIFF con el mismo nombre base) y produce un archivo PDF de salida con algunos subproductos:

sample.djvu
pg10.html
pg10.tif
pg10.jbig2
pg10.pdf
pg10.sym

que es idéntico al archivo de entrada DjVu y tiene una capa de texto dentro:

ingrese la descripción de la imagen aquí

Resumen de comentarios:

Los comentarios extensos a continuación tratan sobre la representación de imágenes más pequeñas de la página del documento DjVu como objetos separados, lo cual no es fácilmente posible porque la página del documento DjVu es en sí misma una sola imagen con una capa de texto opcional, sin "información" sobre imágenes más pequeñas como objetos separados. Si el documento DjVu tiene imágenes en color, generalmente se colocarán en la capa de fondo; en este caso, el usuario puede aprovechar herramientas como ddjvu(extraer solo la capa de fondo) y imagemagick(recortar automáticamente) para generar solo imágenes en lugar de todo el lienzo, pero no puede automatizarse para crear una salida PDF

Otro enfoque más sano, pero más lento, es el uso de herramientas regulares de GUI de OCR. gscan2pdf(> 1.0) se sugiere como posible candidato para PC con Linux


¿Estoy en lo cierto al pensar que esto no extrae los datos de la imagen individual, sino solo la imagen de toda la página?
hayd

¿Qué quiere decir con "datos de imagen individuales" cuando se refiere a la estructura de archivos DjVu?
zetah

si puede recortar las imágenes del documento como imágenes más pequeñas colocadas en la parte superior del PDF (por ejemplo, para que puedan exportarse a HTML)
hayd

No existe tal definición en la estructura de archivos DjVu. La imagen de ejemplo anterior en el documento original de DjVu se "coloca" en la capa / máscara de primer plano junto con la imagen de los caracteres y hay una capa de texto separada que se extrajo como se explicó. Si el documento DjVu tiene imágenes en color, se colocarán en la capa de fondo en toda la página (en un archivo compuesto común DjVu). Si bien es comprensible que pueda esperar que las imágenes en la página del documento de DjVu sean objetos separados, no lo son; mire la página del documento de DjVU como una sola imagen con capa de texto opcional, eso es básicamente lo que es.
zetah

1
@zetah: la información adicional que ha brindado en los comentarios realmente debería agregarse a la respuesta porque proporciona información valiosa en cuanto a la ubicación de la imagen en la estructura y lo que esperaría al extraer.
fossfreedom

4

Hay djvu2pdf pero se basa en ghostscript, por lo que podría ser otra opción de impresión. Todavía te sugiero que le eches un vistazo, en caso de que sea más inteligente de lo que yo le estoy dando crédito.

No está en los repositorios, pero puede descargar un deb del sitio de los creadores: http://0x2a.at/s/projects/djvu2pdf

** Inserte aquí un aviso obligatorio sobre la descarga / instalación de elementos desde fuera de los repositorios **


1
Me temo que djvu2pdf usa ddjvu para exportar a PDF, que exporta imágenes sin texto.
hayd

4

Usando DJVULibre , uno puede extraer la capa de texto a través del terminalcomando:

djvutxt myfile.djvu > myfile-ocr.txt o djvused myfile.djvu -e 'print-pure-txt' > myfile.txt

(ambos hacen lo mismo, y fueron encontrados aquí )

El formateo requiere un poco de esfuerzo (ya que muchos símbolos no se convierten correctamente) y las imágenes no se recuperan .


Esto es bueno para convertir libros sin imágenes en formato DJVU, pero no para documentos con imágenes. Esta es la solución actual para mí en este momento, y la única para extraer el texto. ¡Se preferiría una forma de preservar el formato y las imágenes!
hayd


0

La forma más fácil: use gscan2pdf para importar el djvu, luego OCR con tesseract, y finalmente guárdelo como un pdf. El texto de OCR en el pdf puede ser ligeramente diferente del djvu original, y la conversión puede tardar un poco, pero este método es obvio y funciona.


1
Hola, para que esto sea más útil, ¿podría darnos un poco más de detalles sobre dónde obtener y usar gscan2pdf y tesseract?
NGRhodes

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.