मैं विम से पीडीएफ में कैसे प्रिंट कर सकता हूं?


11

मैंने सोचा होगा कि यह सरल है, लेकिन मैं इसे पूरा नहीं करता हूं: मैं gVim का उपयोग करता हूं और पाठ को एक पीडीएफ फाइल के रूप में प्राप्त करना चाहूंगा। फ़ायरफ़ॉक्स जैसे अन्य अनुप्रयोगों में प्रिंट संवाद मुझे उपलब्ध प्रिंटर दिखाता है और मैं सीधे एक पीडीएफ फाइल पर प्रिंट करना चुन सकता हूं। हालाँकि, विम में ऐसा कोई संवाद नहीं है और फ़ाइल को सिस्टम के मानक प्रिंटर पर भेजा जाता है।

मैंने निम्नलिखित कोशिश की:

  • मैं "प्रिंट-टू-पीडीएफ़" चीज़ को प्रिंट करने के अपने मानक तरीके को उबंटू की प्रिंटर विंडो के माध्यम से बनाने में सक्षम नहीं हूं।
  • :ha > fileमेरी फ़ाइल को एक .ps फ़ाइल में कनवर्ट करता है। यह अच्छा है, लेकिन .pdf अच्छा होगा ...

जवाबों:


22

विम आपको प्रिंट डायलॉग बॉक्स नहीं दिखाएगा। इसके बजाय, आप पोस्टस्क्रिप्ट फ़ाइल में प्रिंट कर सकते हैं , इसे पोस्टस्क्रिप्ट व्यूअर में खोलें और वहां से प्रिंट करें।

विम से पोस्टस्क्रिप्ट फ़ाइल में प्रिंट करने के लिए:

:hardcopy > myfile.ps

आप पोस्टस्क्रिप्ट को पीडीएफ में बदलकर भी उपयोग कर सकते हैं ps2pdf:

ps2pdf myfile.ps

1
पहले प्रस्ताव का मतलब है बस फ़ाइल एक्सटेंशन बदलना ... दूसरा एक मैपिंग में काम कर सकता है या ऐसा कुछ, मुझे इसे पूरा करने के लिए कुछ और शोध करना होगा ... धन्यवाद अब तक ...
कैलिगुला

1
एक्सटेंशन बदलना जितना आसान है;)
Ron

1
यह भयानक है, निश्चित रूप से नहीं पता था कि यह एक बात थी! क्या आप एक ही दस्तावेज़ में कई फाइलें प्राप्त कर सकते हैं?
बेन कुशीगियन

2
(cygwin उपयोगकर्ता) :ha > file.pdfने एक वैध pdf फ़ाइल नहीं बनाई है। इसे ps2dpfकाम के साथ जोड़कर मुझे सफेद पृष्ठभूमि देता है। मैं सबसे खुश हूँ :TOhtml file.htmlऔर फिर इस html फाइल को पीडीऍफ़ में प्रिंट कर रहा हूँ
lucidbrot

मैंने आज इस कमांड की एक भिन्नता का उपयोग किया:: 1,50 हार्डकॉपी, इसने एक फाइल नहीं बनाई, बस 1 से 50 तक की पंक्तियों में छपी।
डॉ। बीईओ

10

दूसरों ने पहले ही बता दिया है कि क्या है:

पीडीएफ फाइल बनाने के लिए आप निम्न सिंगल-लाइन विम कमांड का उपयोग कर सकते हैं:

:hardcopy > %.ps | !ps2pdf %.ps && rm %.ps

ध्यान दें:

  • %वर्तमान फ़ाइल नाम के लिए आशुलिपि है, इसलिए HelloWorld.Cकरने के लिए प्रिंट होगाHelloWorld.C.pdf
  • यदि आप भी मध्यवर्ती .ps फ़ाइल को बनाए रखना चाहते हैं, तो केवल && rm %.psप्राप्त करना छोड़ दें : :hardcopy > %.ps | !ps2pdf %.ps

इसके अतिरिक्त, प्रदान किए गए फ़ॉन्ट को बदलने के लिए, कमांड निष्पादित करने से printfont पहले सेट करें hardcopy। उदाहरण के लिए, कूरियर 8 का चयन करने के लिए:

:set printfont=Courier:h8

यह सब एक साथ रखते हुए, मैंने अपनी .vimrcफ़ाइल में निम्न जोड़ने का फैसला किया ताकि मैं बस :HardcopyPdfकमांड को निष्पादित कर सकूं। यह कमांड किसी फ़ाइल के भीतर चयनित सीमा पर भी काम कर सकती है:

" Select the font for the hardcopy
set printfont=Courier:h8
command! -range=% HardcopyPdf <line1>,<line2> hardcopy > %.ps | !ps2pdf %.ps && rm %.ps && echo 'Created: %.pdf'

यह बहुत साफ-सुथरा मैथियास है, धन्यवाद। रेंज की बात मेरे लिए काम नहीं करती थी। मैंने एक श्रेणी (v का उपयोग करके) पर प्रकाश डाला और कमांड ने पूरी फ़ाइल पर कार्य किया और सीमा को अनदेखा कर दिया।
elmclose
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.