2010-04-21 2 views

답변

11

또한이 요구 사항이 있습니다. 슬프게도 doc-view은이 기능을 제공하지 않습니다.

또한 이맥스에서 사용하는 이미지 코드는 이미지를 회전시킬 수 없습니다. 그래서 ImageMagick을 사용하여 캐시 디렉토리에 저장된 png 파일을 변환하고 현재 페이지를 다시 표시하는 기능을 만들었습니다.

(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

이것은 인상적입니다. 고마워, 위르겐. –

+0

방금 ​​편집 한 내용에 끝에 불필요한 괄호가 포함되어있는 것으로 나타났습니다. 그래서. 내가 한 캐릭터를 수정하도록 수정하는 것을 허용하지 않을 것입니다. – killdash9