Emacsで表示したPDFの任意の文字列をコピーする

PDF上のテキストをコピーできない問題もある。それについては全体をコピーし、専用のバッファにそれを貼り付ける事でお茶を濁した。

;;; pdf-view-popup
(require 'pdf-view)

(defun pdf-view-popup-text ()
  (interactive)
  (pdf-view-mark-whole-page)
  (pdf-view-kill-ring-save)
  (pdf-view-deactivate-region)
  (let ((buf (get-buffer-create "*PDF TEXT*")))
    (switch-to-buffer buf)
    (erase-buffer)
    (yank)
    (goto-char (point-min))
    (display-buffer buf)))


(provide 'pdf-view-popup)
;;; pdf-view-popup.el ends here

毎回実施する必要はないが、関数を変更したりした場合にはautoloads.elを更新する。

(package-generate-autoloads "pdf-tools" "/opt/ng/pdf-tools/lisp")