2010-04-21 35 views

回答

11

我也有這個要求。可悲doc-view不提供此功能。

此外,emacs使用的圖像代碼無法旋轉圖像。所以,我創建了利用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

這是令人印象深刻。謝謝,尤爾根。 – 2010-04-21 23:44:53

+0

我剛剛注意到我的編輯在最後包含了一個多餘的paren。所以。不會允許我編輯一個字符來修復它。 – killdash9 2015-03-11 21:32:21