PDFの注釈に対する返信注釈をEmacsで挿入する

EmacsはPDFの表示が可能だが、表示が若干ぼやけたり、注釈の操作ができない等の問題がある。サードパーティのライブラリ pdf-tools を使用することで、それらの操作性の問題を解消できるが、注釈の扱いが完全ではなく、注釈に対する返信注釈を挿入できない。これは、pdf-toolsがPDFの操作の為に使用しているライブラリPopplerに起因する問題で、Poppler自体が返信注釈を完全に考慮できていなめ、それに依存するpdf-toolsも返信注釈に対応できていない。

そこで返信注釈に対応するために、Popplerを拡張し、拡張したPopplerを使用しpdf-toolsを拡張した12345

また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")