कमांड लाइन से पीडीएफ में एक नियमित फाइल कैसे प्रिंट करें


34

गेडिट में, फ़ाइल को प्रिंट करना फ़ाइल को मुद्रण का एक विकल्प देता है जहाँ फ़ाइल को एक पीडीएफ के रूप में सहेजा जा सकता है। मैं कमांड लाइन से एक ही काम कैसे कर सकता हूं?

जवाबों:


43

यहाँ एक समाधान है जिसमें OpenOffice शामिल नहीं है:

  1. sudo apt-get install enscript

  2. enscript my_text_file.txt -o - | ps2pdf - output.pdf

पेज हेडर को छोड़ने के लिए और अधिक विकल्प हैं enscript, जैसे -Bman enscriptसभी विकल्पों के लिए देखें ।


1
अच्छा विकल्प स्टेफानो खासतौर पर किसी के लिए भी ओपन / लिबरऑफिस का उपयोग नहीं करता है क्योंकि इन में से किसी एक के स्थापित होने पर निर्भर है।
एलन

अच्छा जवाब के लिए +1, जो मैं देने वाला था, मैंने अभी एक देने का फैसला किया है जो मुझे लगता है कि जो कुछ यहां पहले से है, उसमें कुछ जोड़ देगा।
सबकोन

क्या ऐसा करने के लिए कोई इनबिल्ट बैश प्रोग्राम या कमांड नहीं है?
काश्मिंदर

1
धन्यवाद! यह ज्यादातर ग्रंथों के लिए काम करता है, हालांकि एनस्क्रिप्ट केवल पुराने एन्कोडिंग के साथ काम करता है, यह उदाहरण के लिए UTF-8 के साथ काम नहीं करता है, इसलिए यदि आप उदाहरण के लिए यूरो प्रतीक (€) को शामिल करते हैं तो पाठ को परिवर्तित नहीं कर सकते हैं ...
एंटोनी ड्यूसेक्स

20

उपर्युक्त किसी भी सॉफ़्टवेयर को स्थापित किए बिना, कोई भी पहले से स्थापित के साथ निम्नलिखित कार्य कर सकता है cupsfilter:

cupsfilter foo.txt > foo.pdf

(विकल्प आदि के लिए कृपया cupfilter मैन पेज्स :-) देखें)


2
यहाँ केवल एक ही जवाब है कि समस्याओं के बिना मेरी UTF8 पाठ फ़ाइलों को संभाला :) और लगभग कोई निर्भरता के साथ करने के लिए आसान
एक्सल एडवेंटो

13

सरल तरीका है

sudo apt-get install कप-पीडीएफ एनस्क्रिप्ट

-फिर इस मामले में -P स्विच और प्रिंटर डिस्क्रिप्शन पीडीएफ के साथ अपनी फाइल पर इनस्क्रिप्ट को चलाएं।

enscript -B -PPDF test.txt

विवरण पीडीएफ के साथ एक प्रिंटर बनाया गया था जब आपने कप-पीडीएफ स्थापित किया था, जब आप उस प्रिंटर के साथ एनस्क्रिप्ट का उपयोग करते हैं तो आपका दस्तावेज़ पीडीएफ प्रिंटर को भेजा जाएगा और फ़ाइल में मुद्रित किया जाएगा, जिसे आपके / घर / पीडीएफ निर्देशिका में .pdf के रूप में बनाया गया है। ऊपर कमांड पीडीएफ डायरेक्टरी में पीडीएफ के रूप में टेक्स्ट फाइल test.txt को प्रिंट करेगी।

UNOCONV का उपयोग करना

sudo apt-get Install unoconv

आप स्टैंडअलोन मोड में unoconv का उपयोग कर सकते हैं, इसका मतलब यह है कि ओपनऑफिस श्रोता की अनुपस्थिति में, यह अपना डेटा शुरू करेगा:

निर्देशिका में जहां आपकी फ़ाइल स्थित है:

unoconv -f pdf test.txt

यह test.txt का एक अच्छा दिखने वाला pdf बनाएगा। वर्तमान निर्देशिका में


enscript foo.txt -o bar.pdfकाफी अच्छी तरह से काम करता है; धन्यवाद!
फुफिर

6

एक कमांड लाइन प्रोग्राम है जो सभी समर्थित ओपन / लिबर ऑफिस के समर्थित प्रारूप के बीच परिवर्तित हो सकता है जिसे अनकॉनव कहा जाता है, इसलिए यदि आपको एक स्क्रिप्ट के साथ बैच कन्वर्ट करने की आवश्यकता है तो यह काम में आएगा।

sudo apt-get install unoconv

न कि ओपी ने क्या मांगा।
enzotib

2
? ओ पी? ओपी कौन है और प्रश्न का उत्तर देने पर इसे क्यों वोट देता है?
RolandiXor

5

paps से बेहतर विकल्प है enscript

paps file.txt | ps2pdf - output.pdf

7
उबंटू hwc पूछने के लिए आपका स्वागत है! हालांकि आपकी पोस्ट प्रश्न का उत्तर देती है, लेकिन अधिक जानकारी शामिल करना हमेशा बेहतर होता है। उदाहरण के लिए, papsएक बेहतर विकल्प क्यों है ? और अगर papsडिफ़ॉल्ट रूप से स्थापित नहीं है, तो इसे स्थापित करने के लिए क्या कमांड है? आप हमेशा उत्तर के शरीर के नीचे दाईं ओर क्लिक करके अपने उत्तर को संपादित कर सकते हैं edit। धन्यवाद!
आला अली

5

जब यह विभिन्न मार्कअप भाषाओं के बीच रूपांतरण करने की बात आती है, तो पंडोक के पास चाकू चाकू उपकरण होना चाहिए। शुरू करने के लिए आप पहले पंडोक कनवर्टर स्थापित करें:

sudo apt-get install pandoc

पंडोक के लिए सामान्य और सबसे अधिक इस्तेमाल किया जाने वाला वाक्यविन्यास है:

pandoc -f <from format> -t <to format> <source file>

कृपया ध्यान दें कि पीडीएफ फॉर्मेट में कनवर्ट करने से पहले आपको टेक्सलाइव-लेटेक्स-बेस पैकेज की जरूरत है। अन्यथा आपको निम्न त्रुटि मिलेगी:

pandoc: pdflatex not found. pdflatex is needed for pdf output.

इसे स्थापित करने के लिए:

sudo apt-get install texlive-latex-base

अब आप किसी भी फाइल को आसानी से पीडीऍफ़ में बदल सकते हैं।

pandoc -t txt -t pdf source.txt

अपने पाठ प्रारूप के साथ txt को बदलें (odt - html - ....)


1
अन्य उत्तरों की तुलना में, पंडोक प्लस टेक्सलाइव खराब आउटपुट (नईलाइन्स का सम्मान नहीं करता है) पैदा करता है, और बूट करने के लिए ओवरकिल और भ्रामक है। बहुत अधिक पैकेजों की आवश्यकता होती है, टेक्सलाइव, टेक्सलीव-फोंट-अनुशंसित, रूबी, आदि में खींचते हैं। उदाहरण के लिए pandoc: Unknown writer: pdfजब तक मैं टेक्सलीव-लेटेक्स-बेस स्थापित नहीं करता। यह भरोसेमंद है। देखें github.com/jgm/pandoc/issues/1155 तब मुझे एक लापता फ़ॉन्ट के बारे में एक त्रुटि मिली, फिर एक url.sty, आदि के बारे में
nealmcb

2

जैसा कि ऊपर पोस्ट किया गया है, enscriptटेक्स्ट को पोस्टस्क्रिप्ट में बदलने का एक लोकप्रिय तरीका है, जिसे बाद में पीडीएफ में परिवर्तित किया जा सकता है।
एक समान उपकरण, जो लंबे समय से आसपास है, है a2ps। इसमें बड़ी संख्या में विकल्प हैं, जिसमें एक भौतिक पृष्ठ पर कई पृष्ठ डालना शामिल है। साथ Ap2s स्थापित करें sudo apt-get install a2ps

AFAIK, एनस्क्रिप्ट और a2ps एक ही काम करते हैं, लेकिन उनका इंटरफ़ेस अलग है और उनमें से प्रत्येक के साथ YMMV है।


A2ps का उपयोग करने का एक उदाहरण मदद करेगा। - अतिरिक्त विकल्प पीडीएफ के लिए आवश्यक लगता है, लेकिन मैन पेज वास्तव में वहाँ मदद नहीं करता है।
nealmcb

2

उपर्युक्त समाधानों के साथ जर्मन उमालुते (some) के साथ मेरे कुछ मुद्दे थे। या, अंतराल के मामले में, परिणामस्वरूप पीडीएफ में एक पाठ परत नहीं है।

मेरे लिए सबसे अच्छा समाधान wkthmltopdf का उपयोग करना था । ऐसा लगता है कि यह प्रलेखित नहीं है, लेकिन आप इस वाक्य रचना का उपयोग करके आसानी से पाठ फ़ाइलों को पीडीएफ फाइलों में बदल सकते हैं:

wktmltopdf <textfile> <pdffile>

wkhtmltopdf UTF-8 फ़ाइलों (एनस्क्रिप्ट के विपरीत) को संभाल सकता है। सभी समस्याग्रस्त चार्ट जैसे ÄÖÜß आदि को सही ढंग से प्रदर्शित किया जाएगा।


यह सबसे नवीनतम संस्करण में तय किया गया है, जो चयन करने योग्य पीडीएफ आउटपुट करने में सक्षम है। देखें: github.com/dov/paps
डोव ग्रोबगेल्ड

1

आप a2x का उपयोग कर सकते हैं

a2x - Asciidoc टेक्स्ट फाइल को PDF, XHTML, HTML हेल्प, ODF, मैनपेज या प्लेन टेक्स्ट में बदलें

A2x स्थापित करने के लिए:

sudo apt-get install asciidoc

उदाहरण के लिए:

 a2x -f pdf testfile.txt

0

आप u2ps का भी उपयोग कर सकते हैं ।

यह ps और pdf दोनों जेनरेट करता है। यह UTF-8 टेक्स्ट को स्वीकार करता है, और Pango मार्कअप के माध्यम से हाइलाइटिंग सिंटैक्स का समर्थन करता है।

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