कई पीडीएफ फाइलों को मर्ज कैसे करें?


जवाबों:


209

पीडीएफ-चतुर मनुष्य पीडीएफ-शफलर स्थापित करें

यदि आप एक सरल GUI के साथ एक उपकरण चाहते हैं, तो pdfshuffler का प्रयास करें । यह पीडीएफ के विलय के साथ-साथ पृष्ठों को पुन: व्यवस्थित और हटाने की अनुमति देता है। बैच प्रोसेसिंग और / या अधिक जटिल कार्यों के लिए, pdftk निश्चित रूप से अधिक शक्तिशाली है।

पीडीएफ-शफलर का स्क्रीनशॉट


मैंने यह कोशिश की - यह 10.04 पर काम नहीं किया
डेविड वनिल

12.04 पर, pdfshuffler हमेशा शिकायत करता है कि "बहुत सारे मान अनपैक करने के लिए हैं", यह बेकार है।
निराशा

8
14.04 पर आकर्षण की तरह स्थापित और काम करता है। बहुत बहुत धन्यवाद!!
ज़लाट्टी

1
मैं pdfshuffler14.04 am64 पर ठीक कामों की पुष्टि भी कर सकता हूं ।
शंखपुष्पी

2
16.04.1 को भी महान काम करता है
संजय मनोहर

333

pdftkPdftk स्थापित करें

दो पीडीएफ फाइलों को मर्ज करने के लिए, file1.pdfऔर file2.pdf:

pdftk file1.pdf file2.pdf cat output mergedfile.pdf

अधिक जानकारी यहाँ उपलब्ध है बैक मशीन


5
pdftk छोटी गाड़ी है - Bugs.launchpad.net/ubuntu/+source/pdftk/+bug/779908 । जीएस धीमा हो सकता है, लेकिन पूरी तरह से काम करता है [इग्निट का जवाब]
पुष्पक

@PushpakDagade घोस्टस्क्रिप्ट में एनोटेशन के साथ गड़बड़ होती है, विशेष रूप से टिप्पणियां जिन्हें चेक किया गया है (चेकमार्क के साथ टिक किए गए बॉक्स), अब यह चेकमार्क नहीं होगा। मुझे इस बारे में कोई रास्ता नहीं है। साथ ही, यदि आप PDF v1.5 + 1.6 को मर्ज करते हैं, तो आउटपुट 1.4 डिफ़ॉल्ट रूप से होगा। यह अजीब व्यवहार है।
जोनाथन कोमर

2
pdftk का एक असामान्य उपयोग होता है, जहां कमांड catऔर outputवेरिएडिक इनपुट तर्कों का पालन किया जाता है और आउटपुट तर्क द्वारा फिर से अनुसरण किया जाता है।
जेफ पकेट

3
पैकेज 2018.04 में हटा दिया गया लगता है।
निकोलस राउल

1
@NicolasRaoul मैंने इसे एक स्नैप इंस्टॉल के रूप में डाउनलोड किया।
मैक्स

161

घोस्टस्क्रिप्ट एक पैकेज है (उबंटू में डिफ़ॉल्ट रूप से उपलब्ध) जो आपको पोस्टस्क्रिप्ट और पीडीएफ फाइलों को अन्य प्रारूपों में देखने या प्रिंट करने या उन फाइलों को अन्य प्रारूपों में बदलने में सक्षम बनाता है।
PDF फ़ाइलों को संयोजित करने के लिए घोस्टस्क्रिप्ट का उपयोग करने के लिए, निम्न जैसा कुछ लिखें:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dAutoRotatePages=/None -sOutputFile=finished.pdf  file1.pdf file2.pdf

यहाँ कमांड का संक्षिप्त विवरण दिया गया है:

gs         starts the Ghostscript program.
-dBATCH    once Ghostscript processes the PDF files, it should exit.
           If you don't include this option, Ghostscript will just keep running.
-dNOPAUSE  forces Ghostscript to process each page without pausing for user interaction.
-q         stops Ghostscript from displaying messages while it works
-sDEVICE=pdfwrite 
           tells Ghostscript to use its built-in PDF writer to process the files.
-sOutputFile=finished.pdf
           tells Ghostscript to save the combined PDF file with the specified name.
-dAutoRotatePages=/None
           Acrobat Distiller parameter AutoRotatePages controls the automatic orientation selection algorithm: For instance: -dAutoRotatePages=/None or /All or /PageByPage.

आपकी इनपुट फ़ाइलों को पीडीएफ फाइलें होने की भी जरूरत नहीं है। आप पोस्टस्क्रिप्ट या ईपीएस फाइलों, या तीनों के किसी भी मिश्रण का उपयोग कर सकते हैं।

बहुत कुछ है जो आप घोस्टस्क्रिप्ट के साथ कर सकते हैं। अधिक विवरण के लिए आप इसके प्रलेखन को पढ़ सकते हैं ।

स्रोत


2
सच है, लेकिन यह अविश्वसनीय रूप से धीमा है। मैंने सिर्फ 45 x 400K, सिंगल-पेज पीडीएफ को समेटने की कोशिश की। pdftk0m0.484 लिया, 1m32.898s gsलिया (यह लगभग 200x धीमा है) हालांकि फ़ाइल gsलगभग 21% छोटी थी।
एडन

2
यदि आप फ़ाइलों की सूची के लिए वाइल्डकार्ड का उपयोग करते हैं तो यह कमांड भी काम करता है। उदाहरण के लिए, file1.pdf file2.pdfसाथ में बदलेंfile*.pdf
एंटोनियोस हेजिजोर्गालिस

2
मेरे लिए gsकुछ "नॉन कंफर्मेंट" पीडीएफ के साथ काम किया, जहां pdftkबस हमेशा के लिए चलेगा।
ntc2

1
-dPDFSETTINGS=/prepressगुणवत्ता सुधार से विकल्प का उपयोग करें । मूल योगदानकर्ता के
मोहनीश

6
@AntoniosHadjigeorgalis बस संदर्भ और अच्छी समझ के लिए: कि आदेश वाइल्डकार्ड का समर्थन नहीं है, कि वास्तव में खोल की जगह है file*.pdfके साथ file1.pdf file2.pdfआदेश के लिए तर्क पार करने से पहले।
मिडगार्ड

81

आप PDF दस्तावेज़ों को मर्ज करने के लिए भी pdfunite का उपयोग करते हैं:

pdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf

12
चेतावनी: एक मौजूदा फ़ाइल out.pdfको चेतावनी के बिना अधिलेखित कर दिया pdfunite *.pdfजाएगा , इसलिए अपेक्षा के अनुरूप काम नहीं करेगा।
krlmlr 15

1
@krlmlr आप आउटपुट को किसी अन्य निर्देशिका में रख सकते हैं।
B:05овиЈ 15

पर्याप्त रूप से, cpबिना किसी चेतावनी के अंतिम तर्क को भी अधिलेखित करता है। यह केवल उपयोगकर्ताओं (स्वयं की तरह) को भागने के लिए है - मैं भाग्यशाली था कि मेरे पास प्रश्न में फ़ाइल का बैकअप था ...
krlmlr

1
Upvote: यह एक साधारण कमांड-लाइन टूल है, जो यहां के कई अन्य उत्तरों की तरह एक क्लिक-एंड-ड्रोल GUI के बिना है। यह अच्छी तरह से (काफी हद तक समतुल्य) घोस्टस्क्रिप्ट समाधान की जटिलताओं को कूटबद्ध करता है।
त्रिपली

1
यह भी बहुत तेज है। काम अच्छा करता है। बहुत धीमे सर्वर (aws t1.micro) पर, gs को 9 सेकंड लगते हैं, pdftk को 4 सेकंड लगते हैं और यह pdfunite दो फाइलों को मर्ज करने के लिए 0.9 सेकंड लेता है!
रसमार्थी जूल

34

पीडीएफ चेन पीडीएफ चेन स्थापित करें

एक बहुत अच्छा समाधान PDFChain है। यह GUI PDFTK का एक दृश्य है जहाँ आप अपनी PDF फ़ाइलों में विलय, विभाजन या कुछ पृष्ठभूमि जोड़ सकते हैं।


यह सबसे अच्छा जवाब है। यह उबंटू संस्करण की परवाह किए बिना पूरी तरह से काम करता है।
पाउलो कोगी

बिना किसी परेशानी के Ubuntu 14.04 पर काम किया!
मेरा खाता_राम

Ubuntu 18.04 पर महान काम करता है!
ऑर्किरो


@ user2413 यह एक स्नैप स्टोर है, जो उबंटू में सॉफ्टवेयर का एकमात्र स्रोत नहीं है। खोज करने की कोशिश aptकिसी भी परिणाम नहीं दिया हालांकि: /
जेना

11

PDFMod को आज़माएं, यह GNOME प्रोजेक्ट से है:

https://wiki.gnome.org/Apps/PdfMod


विलय नहीं करता है।
user2413

यह अतीत में विलय कर दिया था, अब यह सिर्फ दुर्घटनाग्रस्त हो रहा है, मैंने इसके बजाय pdfshuffler का उपयोग किया और इसने महान काम किया
jena

8

इस पोस्ट में बताए अनुसार लेटेक्स का उपयोग करने के लिए एक वैकल्पिक तरीका है ( बिना रूट एक्सेस के कि आपको pdflatex स्थापित है): https://tex.stackexchange.com/questions/8662/merge-two-pdf-files-output-by- लाटेकस

यह उस स्थिति में उपयोगी है जब आपके पास उल्लेखित उपकरण नहीं हैं और न ही रूट विशेषाधिकार हैं, लेकिन आपके पास pdflatex है।

मैं मर्ज करने के लिए नीचे दिए गए टेक्स कोड की प्रतिलिपि बनाता हूं file1.pdfऔर file2.pdf। नामक एक फाइल बनाएं output.texऔर डालें:

\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-]{file1}
\includepdf[pages=-]{file2}
\end{document}

और संकलन करने के लिए, बस उपयोग करें: pdflatex output.tex

मर्ज की गई फ़ाइल को नाम दिया जाएगा output.pdf


6

मैं बड़ी पीडीएफ फाइल से विशिष्ट पेज निकालने के लिए pdfseparate का उपयोग करता हूं:

pdfseparate -f  156 -l 157 input.pdf  output_%d.pdf 
pdfseparate -f  1   -l 2   input.pdf  output_%d.pdf 

और पिछाड़ी मैं उन सभी को कमांड के माध्यम से शामिल करता हूं:

pdfunite $(ls -v output_*.pdf | tr '\n' ' ') out$(date  +%Y-%m-%d_%H_%M_%S ).pdf

यह जुड़ता है:

output_1.pdf output_2.pdf output_156.pdf output_157.pdf  

में:

out2014-12-14_23_25_36.pdf

हो सकता है कि सामना करने का एक आसान तरीका हो ... :-)


प्रक्रिया प्रतिस्थापन शानदार और संभावित रूप से हानिकारक भी है । एक बहुत सरल कमांड लाइन सही है, pdfunite output_*.pdf out$(date +%Y-%m-%d-%H_%M_%S).pdfलेकिन इसके ऑर्डर की कमी है ls -v। एक स्पष्ट और तुच्छ निर्धारण अपनी फ़ाइलों को नाम देना है ताकि वे स्वाभाविक रूप से उस क्रम में सॉर्ट करें जिसे आप उन्हें शामिल करना चाहते हैं। यदि आप पूरी तरह से चाहते हैं ls -v, तो आप कम से कम पाइप को खो सकते हैं tr, जो यहां कुछ भी नहीं पूरा करता है।
त्रिपली



4

पीडीएफ दस्तावेजों को सामान्य रूप से मर्ज करने और संशोधित करने के लिए आप पीडीएफटीके का उपयोग कर सकते हैं । वैकल्पिक रूप से सिर्फ करने के लिए एक ऑनलाइन सेवा है: http://www.pdfmerge.com/


1

यहाँ मेरा दृष्टिकोण है:

  • मैं चाहता था कि यह आसानी से सुलभ हो जाए इसलिए मैंने Nautilus में एक राइट-क्लिक शॉर्टकट बनाया (देखें https://help.ubuntu.com/community/NautilusScriptsHowto )
  • मैं चाहता था कि यह बहुत जल्दी हो जाए इसलिए मैंने pdfunite का उपयोग किया
  • pdfunite केवल कमांड के बीच में फ़ाइलपथ को स्वीकार करता है इसलिए मुझे फ़ाइलपथ में रिक्त स्थान का प्रबंधन करने के लिए अपने सिर को खरोंचना पड़ा। इसलिए मैंने यह मान लिया कि सभी फ़ाइलपथ "/ घर /" से शुरू होंगे और ".pdf" के साथ समाप्त होंगे।

यहाँ परिणाम है:

#!/bin/sh
CLEANED_FILE_PATHS=$(echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS | sed 's,.pdf /home/,.pdf\\n/home/,g')
echo $CLEANED_FILE_PATHS | bash -c 'IFS=$'"'"'\n'"'"' read -d "" -ra x;pdfunite "${x[@]}" merged.pdf'

Juste इस स्क्रिप्ट को पेस्ट करें

/home/your_username/.local/share/nautilus/scripts

और इसे "merge_pdfs.sh" नाम दें (उदाहरण के लिए)। फिर इसे निष्पादन योग्य बनाएं (मर्ज_पीडीएसश पर राइट-क्लिक करें -> अनुमतियाँ टैब -> टिक "एक प्रोग्राम को फाइल निष्पादित करने की अनुमति दें"

तो अब पीडीएफ फाइलों को मर्ज करने के लिए, आपको बस उन्हें चुनना होगा -> राइट क्लिक -> स्क्रिप्ट्स -> मर्ज_पीडिएकश

आशा है ये मदद करेगा!

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