テキストバッファをPDFファイルに変換しますか?


15

現在のテキストバッファをpdfファイルに変換するにはどうすればよいですか?たとえば、Emacs統合チュートリアル(Ch tで表示)をブックマークされたpdfファイルに変換します。ありがとう。



2
特にorg-latex-export-to-pdf
ケーシー

6
多様性のためだけに、C-u M-x ps-print-buffer結果のPostScriptファイルをPDFに変換してから変換できます(ファイルがOrgファイルではなく、プレーンテキストの種類のPDFのみが必要な場合)。同様に、それps-print-buffer-with-facesはどのように聞こえるかです。
wvxvw

@PythonNut:C-c C-e is undefined
ティム

@casey:コマンドが見つかりません
ティム

回答:


13

以下にあなたを入れてinit.el、あなたが選んだバインディングに関数をバインドすることができます。

この関数は、デフォルトで現在のバッファー内のファイルをPDFとして同じフォルダーに印刷します。

ここで、関数はps2pdfに変換する.psためにバイナリを必要とし.pdfます。ただし、システムで使用可能な任意のPDFジェネレーターに置き換えることができます。

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

2

これは、PDFのブックマークの特定の問題には対応していませんが、バッファーをPDFに変換する一般的な問題には対応しています。

バッファの実際の表示(非表示テキストを表示しない)のPDFの「スクリーンショット」を取得したい場合、バッファ HTML 化して、結果をHTMLからPDFに変換するのが良い方法です。たとえば、これを使用して、組織アジェンダのPDFバージョンを作成できます。(ps-printKaushal Modiからの-basedの回答では、非表示のバッファーの内容が表示されることに注意してください。)

レシピ

M-x htmlize-buffer RETC-x C-w buf.html RET; 次に、コマンドラインで実行します。

pandoc --from=html --to=latex --variable geometry="landscape" -o buf.pdf buf.html

例(スクリーンショット)

ここに画像の説明を入力してください

こちらもご覧ください

「ベクタースクリーンショット」については、 Emacsのベクター(SVG)スクリーンショットを撮ることができますか?(私が説明したことは、「ベクタースクリーンショット」の非常に限られた例として見ることができます。)


2

あなたは行うことができますC-u M-x ps-print-bufferPSファイルに現在のバッファを印刷して、パイプを経由しますps2pdf

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.