2010-04-21 19 views

Respuesta

11

También tuve este requisito. Tristemente doc-view no proporciona esta funcionalidad.

También el código de imagen utilizado por emacs no puede rotar las imágenes. Así que creé una función que utiliza ImageMagick para transformar los archivos PNG almacenados en el directorio de caché y volver a mostrar la página actual:

(defun doc-view-rotate-current-page() 
    "Rotate the current page by 90 degrees. Requires ImageMagick installation" 
    (interactive) 
    (when (eq major-mode 'doc-view-mode) 
    ;; we are assuming current doc-view internals about cache-names 
    (let ((file-name (expand-file-name (format "page-%d.png" (doc-view-current-page)) (doc-view--current-cache-dir)))) 
     ;; assume imagemagick is installed and rotate file in-place and redisplay buffer 
     (call-process-shell-command "convert" nil nil nil "-rotate" "90" (concat "\"" file-name "\"") (concat "\"" file-name "\"")) 
     (clear-image-cache) 
     (doc-view-goto-page (doc-view-current-page)))))) 
+0

esto es impresionante. gracias, Jürgen. –

+0

Acabo de notar que mi edición contiene una paren superflua al final. ASI QUE. no me permitirá hacer una edición de un personaje para arreglarlo. – killdash9