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