एक पीडीएफ फाइल करने के लिए एक पाठ बफर कन्वर्ट?


15

हम वर्तमान टेक्स्ट बफर को एक पीडीएफ फाइल में कैसे बदल सकते हैं, अधिमानतः उन हेडिंग को पीडीएफ फाइल के बुकमार्क में * के साथ शुरू करना। उदाहरण के लिए, Emacs इंटीग्रेटेड ट्यूटोरियल (Ch t द्वारा दिखाया गया है) को बुकमार्क पीडीएफ फाइल में बदलना। धन्यवाद।



2
विशेष रूप सेorg-latex-export-to-pdf
केसी

6
बस विविधता के लिए: आप कर सकते हैं C-u M-x ps-print-bufferऔर फिर परिणामी पोस्टस्क्रिप्ट फ़ाइल को पीडीएफ में बदल सकते हैं (यदि आपकी फाइलें ओआरजी फाइलें नहीं हैं और आप सिर्फ सादे पाठ प्रकार की पीडीएफ चाहते हैं)। इसी तरह, ps-print-buffer-with-facesयह कैसा लगता है।
wvxvw

@PythonNut:C-c C-e is undefined
टिम

@ एक्सी: कमांड नहीं मिला है
टिम

जवाबों:


13

आप नीचे अपनी डाल सकते init.elहैं और फ़ंक्शन को अपनी पसंद के बंधन में बांध सकते हैं।

फ़ंक्शन डिफ़ॉल्ट रूप से उसी फ़ोल्डर में पीडीएफ के रूप में वर्तमान बफर में फ़ाइल को प्रिंट करता है।

यहां फ़ंक्शन को ps2pdfपरिवर्तित .psकरने के लिए बाइनरी की आवश्यकता है .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

यह पीडीएफ में बुकमार्क के विशिष्ट मुद्दे को संबोधित नहीं करता है, लेकिन पीडीएफ में बफ़र्स को कनवर्ट करने की सामान्य समस्या को संबोधित करता है।

यदि आप बफर का एक पीडीएफ "स्क्रीनशॉट" प्राप्त करना चाहते हैं जैसा कि आप वास्तव में इसे देखते हैं - छिपे हुए पाठ को नहीं दिखा रहे हैं - तो बफर को htmlize करने के लिए एक अच्छा विकल्प है , और परिणाम को HTML से पीडीएफ में परिवर्तित करें। आप इसका उपयोग कर सकते हैं, उदाहरण के लिए, अपने ऑर्ग एजेंडा का पीडीएफ संस्करण बनाने के लिए। (ध्यान दें कि ps-printकौशल मोदी के जवाब का जवाब छिपा हुआ बफर कंटेंट दिखाएगा ।)

विधि

M-x htmlize-buffer RET, C-x C-w buf.html RET; फिर कमांड लाइन पर चलें:

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

उदाहरण (स्क्रीनशॉट)

यहाँ छवि विवरण दर्ज करें

यह सभी देखें

यहां "वेक्टर स्क्रीनशॉट" के बारे में एक दिलचस्प चर्चा है: क्या मैं वेक्टर (SVG) स्क्रीनशॉट Emacs ले सकता हूं? (मैंने जो वर्णन किया है उसे "वेक्टर स्क्रीनशॉट" के बहुत सीमित उदाहरण के रूप में देखा जा सकता है ।)


2

आप C-u M-x ps-print-bufferपीएस फ़ाइल में वर्तमान बफर प्रिंट कर सकते हैं और फिर इसके माध्यम से पाइप कर सकते हैं ps2pdf

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.