मैं कई pdfs का पहला पृष्ठ कैसे निकालूं


0

मुझे पता है कि इस प्रश्न के कई उत्तरों के साथ एक और धागा है; हालाँकि, मैं एक नौसिखिया हूँ और वह बहुत कुछ मेरे लिए अजीब था। मैं हालांकि सीखने की कोशिश कर रहा हूँ :)

वैसे भी, मैंने घोस्टस्क्रिप्ट को स्थापित किया है और इस स्क्रिप्ट का उपयोग करके इसे कुछ बार चलाने की कोशिश की है

for file in *.pdf ; do gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite \
         -sOutputFile="${file%.pdf}-page1.pdf" -dFirstPage=1 -dLastPage=1 "$file" ;

मुझे वह स्क्रिप्ट मिली यहाँ

मुझे वास्तव में नहीं पता था कि मुझे निर्देशिका नाम कहां रखना है जो मैं प्रोग्राम को बैच एक्स्ट्रैक्ट से और न ही आउटपुट फ़ाइल नाम से, या आउटपुट डायरेक्टर से लेना चाहता था। मुझे लगता है कि यह आप के लिए मूल सामान है, लेकिन अगर कोई भी मेरी मदद कर सकता है तो आप शायद मुझे काम के वर्षों में बचा लेंगे।

धन्यवाद!

जवाबों:


0

वह निर्देशिका जहाँ PDF फ़ाइलें रहती हैं, वर्तमान निर्देशिका है, क्योंकि for files in *.pdf ; ... मिलान फ़ाइलों के लिए निर्देशिका पथ निर्दिष्ट नहीं करता है।

आउटपुट फ़ाइल से बनाई गई है "$file" उसके साथ bash विस्तार "${file%.pdf}-page1.pdf", जो हटाता है .pdf फ़ाइल नाम के अंत से और इसके साथ प्रतिस्थापित करता है -page1.pdf, इसलिए, उदाहरण के लिए, report.pdf आउटपुट फ़ाइल उत्पन्न करता है report-page1.pdf उसी निर्देशिका में।

आप एक निर्देशिका पथ को प्रस्तुत कर सकते हैं for खंड, उदाहरण के लिए for files in SourceDir/*.pdf ; ...

आप प्रतिस्थापन स्ट्रिंग को बदल सकते हैं; या यदि आप निर्देशिका पथ का उपयोग करते हैं, तो आप एक निर्देशिका को प्रस्तुत कर सकते हैं, हालांकि प्रतिस्थापन अधिक जटिल हो जाता है for खंड।

आपको पढ़ना चाहिए पैरामीटर विस्तार में bash मैनुअल।

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