Pregunta:
¿Cómo podemos convertir el búfer de texto actual a un archivo pdf, preferiblemente convirtiendo los encabezados que comienzan con * en marcadores del archivo pdf? Por ejemplo, convertir el tutorial integrado de Emacs (mostrado por Ch t) en un archivo pdf marcado como favorito. Gracias.
Respuesta:
Puede poner lo siguiente en su init.el
y vincular la función a un enlace de su elección.
La función imprime el archivo en el búfer actual como PDF en la misma carpeta de forma predeterminada.
Aquí la función requiere el ps2pdf
binario para convertir .ps
a .pdf
. Pero puede reemplazarlo con cualquier generador de pdf disponible en su sistema.
(require 'ps-print)
(when (executable-find "ps2pdf")
(defun modi/pdf-print-buffer-with-faces (&optional filename)
"Print file in the current buffer as pdf, including font, color, and
underline information. This command works only if you are using a window system,
so it has a way to determine color values.
C-u COMMAND prompts user where to save the Postscript file (which is then
converted to PDF at the same location."
(interactive (list (if current-prefix-arg
(ps-print-preprint 4)
(concat (file-name-sans-extension (buffer-file-name))
".ps"))))
(ps-print-with-faces (point-min) (point-max) filename)
(shell-command (concat "ps2pdf " filename))
(delete-file filename)
(message "Deleted %s" filename)
(message "Wrote %s" (concat (file-name-sans-extension filename) ".pdf"))))