Adobe Acrobat: एकाधिक पीडीएफ फाइलों को संयोजित करने के लिए बैच कैसे करें?


10

मेरे पास 3 फ़ोल्डर हैं:

Folder 1 
Folder 2
Folder 3

प्रत्येक फ़ोल्डर में मेरे पास 5 पीडीएफ फाइलें हैं:

    Folder 1 
       file1.pdf
       file2.pdf
    Folder 2
       file1.pdf
       file2.pdf
    Folder 3
       file1.pdf
       file2.pdf

मैं चाहता हूं कि प्रत्येक फ़ोल्डर में उन दो फाइलों की संयुक्त फाइल हो:

    Folder 1 
       binder.pdf
    Folder 2
       binder.pdf
    Folder 3
       binder.pdf

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


"आपके पास उन दो फ़ाइलों की संयुक्त फ़ाइल है " से वास्तव में क्या मतलब है ? क्या आप इन दोनों फाइलों को 1 पीडीएफ कार्य में समाप्‍त और मर्ज करेंगे?
कर्ट फ़िफ़ेल

Adobe Acrobat या Adobe Acrobat Reader ?
wmz

@AndreiAndre आपके प्रश्न के लिए कई अच्छे समाधान पोस्ट किए गए थे। हो सकता है कि आप अपनी सभी जरूरतों को पूरा करने वाले को चुन सकते हैं और इसे स्वीकार कर सकते हैं।
निक्सन

जवाबों:


12

आप इसे एक छोटी बैच फ़ाइल और pdftk.exe ( pdftk बिल्डर जो GUI संस्करण है) के साथ कर सकते हैं।
कुछ भी स्थापित करने की आवश्यकता नहीं है।

तैयारी

  • डाउनलोड करें और UniExtract के साथ pdftk निकालें
  • अपनी पसंद के फ़ोल्डर में खोलें .. \ pdftk \ bin * और कॉपी करें pdftk.exe और libiconv2.dll
  • एक नई टेक्स्ट फ़ाइल बनाएं और निम्नलिखित कोड पेस्ट करें

    @ तो बंद
    सेटलोक सक्षम
    %% A IN (% *) DO (सेट कमांड = कमांड! %% A)
    pdftk.exe% कमांड% कैट आउटपुट "% ~ dp1binder.pdf"
    
  • के रूप में सहेज merge@pdf.cmd pdftk.exe और libiconv2.dll को उसी फ़ोल्डर में यहाँ छवि विवरण दर्ज करें
  • इसका एक शॉर्टकट बनाएं। इसे अपने सेंड फोल्डर ( Win+ R»शेल: सेंडआउट) में रखें।

प्रयोग

  • कुछ पीडीएफ फाइलों के साथ एक फ़ोल्डर में जाएं और जितने चाहें उतने पीडीएफ का चयन करें
  • उन्हें राइट-क्लिक करें और आपके द्वारा बनाए गए शॉर्टकट को चुनें
  • एक ही फ़ोल्डर में एक नया बाइंडर पीडीएफ बनाया जाएगा जहां सभी चयनित पीडीएफ एक में विलय हो जाते हैं

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

अद्यतन: संस्करण जो उत्पन्न पीडीएफ के लिए फ़ाइल नाम के रूप में वर्तमान फ़ोल्डर नाम का उपयोग करता है

@echo off
setlocal enabledelayedexpansion
:: Concat all paths fromselected files and save it as command
FOR %%A IN (%*) DO (set command=!command! %%A)

:: Take path from first selected file and save it as path
set path=%~dp1
echo %path%

:: Check if a trailing slash is present. If yes, remove it
IF %path:~-1%==\ SET path=%path:~0,-1%

:: Get last folder from path
FOR %%F in ("%path%") do (set lastFolder=%%~nxF)

:: Call pdftk, pass on command. use lastFolder as filename
pdftk.exe %command% cat output "%path%\%lastFolder%.pdf"

बहुत अच्छा जवाब। मैं इसे संशोधित करने के लिए संघर्ष कर रहा हूं, इसलिए यह binder.pdf के बजाय FOLDERNAME के ​​रूप में सहेजता है। ऐसा कैसे किया जा सकता था?
चेन स्टैट्स यू

@ChenStatsYu अद्यतन देखें
nixda

महान!! फिर से पूछने के लिए क्षमा करें, सुनिश्चित नहीं है कि मुझे एक नया पोस्ट शुरू करना चाहिए केवल एक अंतिम अनुरोध, जैसा कि मैं लगभग 40/50 फ़ोल्डरों के लिए इसे दोहरा रहा हूं, क्या हम इसे फ़ोल्डर से "पीडीएफ़" भेजने और फ़ोल्डर से कुछ पीडीएफ़ के बजाय फ़ोल्डर का उपयोग करने के लिए संशोधित कर सकते हैं?
चेन स्टैट्स यू

इसके अलावा, मैं उम्मीद कर रहा हूं कि यह गैर-अंग्रेजी फ़ोल्डरनामों का समर्थन कर सकता है।
चेन स्टैट यू

5

यदि आप लिनक्स (या मैक, या किसी भी वातावरण जहां यह स्थापित है) पर हैं, तो आप उन्हें संयोजित करने के लिए भूत -रेखा नामक एक कमांड-लाइन टूल का उपयोग कर सकते हैं।

gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combinedpdf.pdf -dBATCH file1.pdf file2.pdf file3.pdf

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

gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combinedpdf.pdf -dBATCH *.pdf 

आप यहां भूत-प्रेत डाउनलोड कर सकते हैं । एक विंडोज़ संस्करण भी है, लेकिन मैंने इसका परीक्षण नहीं किया।


1
यह खिड़कियों पर भी काम करता है। मुझे घोस्टस्क्रिप्ट निष्पादन योग्य के लिए पूरा रास्ता लिखना था (मेरे पीसी पर यह "c: \ Program File \ gs \ gs9.07 \ bin \ gswin32c.exe") और "* .pdf" विस्तार काम नहीं करता है, लेकिन। भूत-प्रेत ही पूरी तरह से काम करता है।
पितरौ

3

मैंने उपरोक्त समाधान का सफलतापूर्वक उपयोग किया है। हालांकि, मेरे सिस्टम पर (विंडोज 7 64-बिट) कोड के रूप में यह पीडीएफ (जाहिरा तौर पर) यादृच्छिक क्रम में पीडीएफ जोड़ता है, वर्णानुक्रम से वर्णानुक्रम में नहीं।

इसे वर्णानुक्रम में फ़ाइलों को जोड़ने के लिए आपको DIR (aka Get-ChildItem) कमांड के लिए सॉर्ट-ऑब्जेक्ट पैरामीटर को जोड़ना होगा (सॉर्ट-ऑब्जेक्ट यहाँ कोई पैरामीटर नहीं लेता है क्योंकि फ़ाइल नाम / वर्णानुक्रम में डिफ़ॉल्ट है):

dir $inputfolder -r -include *.pdf -exclude $outputfile | sort-object | group DirectoryName % {& $PDFtk $.group CAT OUTPUT "$($.Name)\$outputfile" verbose}

जिनके पास 01.pdf के बजाय फॉर्म 1.pdf 2.pdf ... 10.pdf इत्यादि के फ़ाइल नाम हैं। 02.pdf .. 10.pdf भी इस के बदलाव की कोशिश करना पसंद कर सकते हैं:

pdftk *?.pdf *??.pdf *???.pdf *????.pdf cat output out.pdf

"उपरोक्त समाधान" - संभवतः आप निक्स्ड के समाधान का मतलब है। यदि आपके उत्तर को निक्सदा से अधिक वोट मिला है, तो यह नीचे होगा
नूडल

1

एक नया ऑनलाइन उन्नत पीडीएफ मैनिपुलेशन टूल है जिसे सेज-दा कहा जाता है जो अभी भी बीटा में है, जिसमें पीडीएफ फ़ंक्शन (असंख्य pdfs विलय करने की क्षमता) के असंख्य हैं। यह मुफ़्त है और आपकी आवश्यकताओं को अच्छी तरह से मदद कर सकता है।

http://sejda.com/

अपने कार्यों की एक संक्षिप्त समीक्षा केवल संशोधन 3 द्वारा कुछ हफ़्ते पहले की गई थी:

http://revision3.com/tzdaily/sejda-online-pdf


ओपी स्पष्ट रूप से पीडीएफ फाइलों को विलय करने में सक्षम है, वह एक स्वचालित प्रक्रिया के साथ विलय करना चाहता है। आपका उत्तर इस तरह से सेजडा का उपयोग करने के तरीके के बारे में कोई विवरण नहीं देता है, न ही यह उनकी वेबसाइट से स्पष्ट है
नूडल

1

शायद एक बैच परिदृश्य का उपयोग करना बेहतर है। अपनी सभी पीडीएफ़ फ़ाइलें xxxx.abcdef.pdf के रूप में बनाएं और एकत्र करें।

पहला भाग तथाकथित बैच टैग है; दूसरा भाग फ़ाइल पहचानकर्ता (फ़ाइल नाम) है। प्रत्येक पीठ के लिए टैग लंबाई और मूल्य में समान हैं; फ़ाइलों का नाम बिंदु के बाद आता है।

उदाहरण के लिए आपके पहले बैच में 1111.3425.pdf, 1111.76501.pdf शामिल हैं। आपका दूसरा बैच 22222.1432.pdf है, 22222.4398, इत्यादि। और इतने पर और अन्य बैचों के लिए आगे।

फिर आप स्वचालित मर्ज सॉफ़्टवेयर का उपयोग कर सकते हैं जो प्रत्येक बैच के लिए एक अलग मर्ज बनाने वाली हजारों फ़ाइलों से निपट सकता है। मुझे यह Dysprosium मुफ्त सॉफ्टवेयर मिला है जिसमें कमांड लाइन या बैच स्क्रिप्ट की आवश्यकता नहीं है। आप इसे पोर्टेबल JAR फ़ाइल के रूप में डाउनलोड कर सकते हैं। इसके अलग-अलग स्वचालित परिदृश्य हैं; इस उत्तर में एक टैगिंग के रूप में वर्णित है और एक आपके आवश्यक फ़ोल्डर के रूप में अलग हो गया है।

आपके हार्डवेयर के आधार पर आप हजारों फाइलों को पूर्व-नियत बैचों में विलय कर सकते हैं।


0

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

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

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


0

यदि आप मैक पर हैं तो आप इस कार्य को प्राप्त करने के लिए एक ऑटोमेटर स्क्रिप्ट बना सकते हैं। इसे एक फोल्डर एक्शन के रूप में बनाएं और बस इसमें pdfs ड्रॉप करें और इसे देखें! यदि आप चाहते हैं कि मैं आपको दिखा सकता हूँ कि, क्या आप मैक चला रहे हैं?


0

लिनक्स पर

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

tree -fai . | grep -P ".pdf$" | xargs -L1 -I {} dirname {} | uniq | xargs -L1 -I {} bash -c 'cd "$0" && pdftk *.pdf cat output binder.pdf' {}

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

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

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