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


17

के माध्यम से जाने और पहले पृष्ठ को निकालने के लिए लगभग 500 पीडीएफ प्राप्त किए हैं। फिर उन्हें कुछ समय लेने वाली रूपांतरण प्रक्रिया से गुजरने की आवश्यकता होती है, इसलिए 500 pdfs से सिर्फ पहला पृष्ठ निकालने के लिए बैच प्रक्रिया द्वारा कुछ समय के लिए प्रयास करने और सहेजने की उम्मीद थी और इसे एक नए पीडीएफ में रखें। एक्रोबैट के आसपास एक प्रहार हुआ है, लेकिन कई फ़ाइलों के लिए ऐसा करने की कोई वास्तविक विधि नहीं मिल सकती है। किसी को भी किसी भी अन्य कार्यक्रमों या विधियों है कि यह हासिल किया जा सकता है पता है? नि: शुल्क और खुला स्रोत स्पष्ट रूप से अधिक अनुकूल हैं :)

संपादित करें: वास्तव में सिर्फ एक पृष्ठ निकालने के लिए घोस्टस्क्रिप्ट का उपयोग करके कुछ सफलता मिली है। अब देख रहा हूँ कि कैसे बैचेन किया जाए और फाइलों की सूची ली जाए और उन का उपयोग किया जाए।


रूपांतरण प्रक्रिया में अन्य चरण क्या शामिल हैं?
इग्नासियो वाज़केज़-अब्राम्स

अपने संपादन के बारे में, मेरा संपादन देखें ।
frabjous 16

जवाबों:


29

Pdftk का उपयोग कर रहा है ...

कमांड लाइन से मैक और लाइनक्स पर।

for file in *.pdf ; do pdftk "$file" cat 1 output "${file%.pdf}-page1.pdf" ; done

विंडोज पर, आप एक बैच फ़ाइल बना सकते हैं। नोटपैड खोलें, इसे अंदर पेस्ट करें:

for %%I in (*.pdf) do "pdftk.exe" "%%I" cat 1 output "%%~nI-page1.pdf"

आपको "pdftk.exe" को पूर्ण पथ के साथ pdftk, जैसे, "C:\Program Files\pdftk\pdftk.exeया जो कुछ भी है , बदलने की आवश्यकता हो सकती है। (मैं विंडोज का उपयोग नहीं करता इसलिए मुझे नहीं पता।)

इसे .bat में समाप्त होने वाले एक्सटेंशन के साथ सहेजें, इसे पीडीएफ और डबल क्लिक के साथ फ़ोल्डर में छोड़ दें।

आप घोस्टस्क्रिप्ट के साथ एक ही काम कर सकते हैं, हाँ।

चलो देखते हैं। मैक और लिनक्स के लिए (सभी एक पंक्ति):

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

मुझे बिल्कुल यकीन नहीं है कि विंडोज बैच फ़ाइल के लिए संबंधित कमांड क्या होगी। मेरा सबसे अच्छा अनुमान है (- मेरे पास खिड़कियां नहीं हैं इसलिए मैं परीक्षण नहीं कर सकता -):

for %%I in (*.pdf) do "C:\Program Files\gs\gs9.00\gswin32c.exe" -dSAFER -dNOPAUSE -dBATCH -sDEVICE#pdfwrite -sOutPutFile#"%%~nI-page1.pdf" -dFirstPage#1 -dLastPage#1 "%%I"

अपने भूत लिपि निष्पादन योग्य के लिए डबल जांचें पथ सही है, और ठीक है, मैंने इसका परीक्षण नहीं किया है क्योंकि मैं विंडोज का उपयोग नहीं करता हूं।


संपादित करें: ठीक है, मुझे बस एहसास हुआ कि आप शायद 500 1-पृष्ठ पीडीएफ नहीं चाहते हैं, लेकिन एक एकल पीडीएफ जो उन सभी को जोड़ती है। बस ऊपर चलाएं, और यह आपको 500 1-पृष्ठ पीडीएफ के साथ छोड़ देगा। मैक और लिनक्स पर pdftk ... का उपयोग करके उन्हें संयोजित करने के लिए:

pdftk *-page1.pdf cat output combined.pdf

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

घोस्टस्क्रिप्ट के साथ ... मैक और लिनक्स पर:

gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="combined.pdf" *-page1.pdf

और यह शायद विंडोज पर भी ऐसा ही है, सिवाय इसके कि "gs" को शुरू करने के अलावा, ऊपर gswin32c.exe के लिए पूर्ण पथ के साथ।

दोनों को एक चरण में करने के लिए भूत-प्रेत का एक तरीका हो सकता है, लेकिन मैं अभी इसका पता लगाने के लिए बहुत आलसी हूं।

यदि उन्हें संयोजित करने का क्रम महत्वपूर्ण है, तो हमें अधिक जानकारी की आवश्यकता होगी।


यही वह आज्ञा है जिसकी मुझे तलाश थी। अगर दोपहर के भोजन के बारे में पढ़ने में बिताए हों तो क्या होगा! आपका प्रारंभिक आदेश सही है, अर्थात मुझे 500 सिंगल पेज पीडीएफ़ की आवश्यकता है। ने पहले सभी पेजों को एक ही पीडीऍफ़ में लाने में कामयाबी हासिल कर ली थी, लेकिन फिर एक्सेल में बदलना इसे असहनीय बनाता है। मेरे उपयोगकर्ताओं के पास कुछ बहुत ही विशिष्ट अनुरोध और लेआउट अनुरोध हैं जो कि चुनौतीपूर्ण लेकिन चुनौतीपूर्ण है। मदद के लिये शुक्रिया!!
टिम अलेक्जेंडर

2

बस आज इसे लिनक्स में करना था। इसे मैक के लिए भी काम करना चाहिए। अपने टर्मिनल से निम्न आदेश निष्पादित करें।

lpr -o page-ranges="1-1" path/to/folder/*.pdf

lpr प्रिंटर को काम सौंपता है।

कमांड में * कैरेक्टर के उपयोग पर ध्यान दें। यह निर्देशिका में आपकी सभी पीडीएफ फाइलों के लिए कमांड चलाएगा।


जैसा कि आप बताते हैं, यह प्रिंटर को काम सौंप देगा। यही नहीं ओपी पूछ रहा है।
निक के 9

1

मुझे लगता है कि आप एक पीडीएफ वर्चुअल प्रिंटर, जैसे कि पीडीएफ-फोर्ज का उपयोग कर सकते हैं।

आप अभी पहले पृष्ठ को "प्रिंट" करते हैं, मैं अब एक मैक पर हूँ और यह कोशिश नहीं कर सकता, लेकिन मुझे पूरा यकीन है कि आप इसे एक बार में अधिक कर सकते हैं।

सौभाग्य!!

Trufa


उन पर संकेत के लिए धन्यवाद। ये मुझे घोस्टस्क्रिप्ट के लिए ले गए हैं जो ऐसा लगता है कि यह वही कर सकता है जो मैं चाहता हूं। धन्यवाद
टिम अलेक्जेंडर

@ अलेक्जेंडर, कोई समस्या नहीं है !!

0

विंडोज़ बैच फ़ाइल कमांड के लिए (.bat) (%% एक बैट फ़ाइल में चर के लिए है)

कम संकल्प / आकार के साथ पीडीएफ के रूप में पीडीएफ का पहला पृष्ठ निष्कर्षण

for %%I in (*.pdf) do "C:\Program Files (x86)\gs\gs9.14\bin\gswin32c.exe" -dSAFER -dNOPAUSE -dBATCH -sDEVICE#jpeg -r20 -sOutputFile#"%%~nI.jpg" -dFirstPage#1 -dLastPage#1 "%%I"

(sOutputFile के ऊपर पोस्ट में गलत लिखा गया था .. और मानक gs x86 इंस्टॉल के वर्तमान पथ के साथ)

(भी बहु-पृष्ठ पीडीएफ को सिंगल जेपीजी में बदलने के लिए घोस्टस्क्रिप्ट का उपयोग करके देखें? )


0

लिनक्स पर

मैंने यह कमांड लाइन लिखी थी

tree -fai . | grep -P ".pdf$" | xargs -L1 -I {} pdftk {} cat 1 output {}.firstpage.pdf

लेकिन यह काम करता है, मैंने इसका परीक्षण किया, यह आपके पास कई स्तरों के फ़ोल्डर्स के साथ भी काम करता है। बस यह सुनिश्चित करें कि आप इसे फ़ोल्डर संरचना की जड़ चलाते हैं। हर फोल्डर में हर पीडीएफ फाइल के लिए एक एडिशनल पीडीएफ होगा, जो खत्म हो रहा है.firstpage.pdf

आपको इसकी आवश्यकता है pdftkऔर treeउबंटू लिनक्स पर आप इसे एप्टीट्यूड से इंस्टॉल कर सकते हैं:

sudo apt install pdftk tree

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