38 Visualización de Documentos
El modo DocView es un modo principal para visualizar documentos DVI, PostScript (PS), PDF, OpenDocument, Microsoft Office, EPUB, CBZ, FB2, XPS y OXPS. Ofrece funciones como el corte, el zoom y la búsqueda dentro de los documentos. Funciona convirtiendo el documento en un conjunto de imágenes mediante los comandos gs
(GhostScript) o pdfdraw/mutool draw
(MuPDF) y otras herramientas externas, y luego muestra esas imágenes convertidas.
Cuando visita un archivo de documento que puede visualizarse con el modo DocView, Emacs utiliza automáticamente ese modo [21] . Como excepción, cuando visita un fichero PostScript, Emacs cambia a modo PS, un modo mayor para editar ficheros PostScript como texto; sin embargo, también activa el modo menor DocView, de modo que puede teclear Ctrl-c Ctrl-c (C-c C-c
) para ver el documento con DocView. Tanto en modo DocView como en modo DocView menor, repitiendo C-c C-c
(doc-view-toggle-display
) se alterna entre DocView y el contenido del archivo subyacente.
Cuando visita un archivo que normalmente sería manejado por el modo DocView pero no se cumple algún requisito (por ejemplo, opera en un marco de terminal o Emacs no tiene soporte PNG), se le pregunta si desea ver el contenido del documento como texto plano. Si confirma, el buffer se pone en modo texto y se activa el modo menor DocView. Así, tecleando Ctrl-c Ctrl-c (C-c C-c
) se cambia al modo menor. Con otro C-c C-c
se vuelve al modo DocView. El contenido de texto plano también puede visualizarse desde el modo DocView tecleando Ctrl-c Ctrl-t (C-c C-t
, doc-view-open-text
).
Puede activar explícitamente el modo DocView con el comando M-x doc-view-mode
. Puede activar el modo menor de DocView con M-x doc-view-minor-mode
.
Cuando el modo DocView se inicia, muestra una pantalla de bienvenida y comienza a formatear el archivo, página por página. Muestra la primera página una vez que ha sido formateada.
Para eliminar el búfer de DocView, escriba k (k
, doc-view-kill-proc-and-buffer
). Para enterrarlo, escriba q (q
, quit-window
).
38.2 Búsqueda en DocView
En el modo DocView, puede buscar una expresión regular en el texto del fichero (véase 16.6 Sintaxis de las Expresiones Regulares). La interfaz de búsqueda está inspirada en isearch (véase 16.1 Búsqueda Incremental).
Para iniciar una búsqueda, escriba Ctrl-s (C-s
, doc-view-search
) o Ctrl-r (C-r
, doc-view-search-backward
). Esto lee una expresión regular utilizando un minibúfer y, a continuación, se hace eco del número de coincidencias encontradas en el documento. Puede avanzar y retroceder entre las coincidencias tecleando Ctrl-s (C-s
) y Ctrl-r (C-r
). El modo DocView no tiene forma de mostrar la coincidencia dentro de la imagen de la página; en su lugar, muestra información sobre esta herramienta (tooltip, un mensaje emergente, en la posición del ratón) listando todas las líneas coincidentes en la página actual. Para forzar la visualización de este tooltip, teclee Ctrl-t (C-t
doc-view-show-tooltip
).
Para iniciar una nueva búsqueda, utilice el comando de búsqueda con un argumento de prefijo; es decir, C-u C-s
para una búsqueda hacia delante o C-u C-r
para una búsqueda hacia atrás.
38.3 Recorte de DocView
Los documentos suelen tener márgenes amplios para la impresión. Son molestos cuando se lee el documento en la pantalla, porque ocupan espacio y pueden causar un desplazamiento incómodo.
Con DocView puede ocultar estos márgenes seleccionando una porción de páginas para mostrar. Una porción es un rectángulo dentro del área de la página; una vez que especifica una porción en DocView, se aplica a cualquier página que mire.
Para especificar la porción numéricamente, escriba cs (c s
, doc-view-set-slice
); a continuación, introduzca la posición del píxel superior izquierdo y la anchura y altura de la porción.
Una forma gráfica más cómoda de especificar el corte es con cm (c m
, doc-view-set-slice-using-mouse
), en la que se utiliza el ratón para seleccionar el corte. Basta con mantener pulsado el botón izquierdo del ratón (ratón-1
) en la esquina superior izquierda de la región que desea incluir en el corte y, a continuación, mover el puntero del ratón a la esquina inferior derecha y soltar el botón.
La forma más cómoda es establecer el corte óptimo utilizando la información de BoundingBox que se determina automáticamente a partir del documento escribiendo cb (c b
, doc-view-set-slice-from-bounding-box
).
Para cancelar el corte seleccionado, escriba cr (c r
, doc-view-reset-slice
). Entonces DocView muestra la página completa incluyendo todos sus márgenes.
38.4 Conversión DocView
Por eficiencia, DocView almacena en caché las imágenes producidas por gs
. El nombre del directorio donde se almacenan las imágenes viene dado por la variable doc-view-cache-directory
. Puede borrar el directorio de caché escribiendo Alt-x doc-view-clear-cache
(M-x doc-view-clear-cache
).
Para forzar la reconversión del documento actualmente visualizado, escriba r (r
) o g (g
), revert-buffer
). Para matar el proceso de conversión asociado al búfer actual, escriba K (K
, doc-view-kill-proc
). El comando k
(doc-view-kill-proc-and-buffer
) mata el proceso de conversión y el buffer DocView.