linux - एकाधिक पीडीएफ फाइलों को एक पीडीएफ में मर्ज/कन्वर्ट करें




pdf merge (9)

मैं एकाधिक पीडीएफ फाइलों को एक बड़ी पीडीएफ फाइल में कैसे विलय / परिवर्तित कर सकता हूं?

मैंने निम्नलिखित की कोशिश की, लेकिन लक्ष्य फ़ाइल की सामग्री अपेक्षित नहीं थी:

convert file1.pdf file2.pdf merged.pdf

मुझे एक बहुत ही सरल / मूल कमांड लाइन (सीएलआई) समाधान की आवश्यकता है। सबसे अच्छा होगा अगर मैं विलय के आउटपुट को सीधे पाइप / pdf2ps में पाइप कर सकता pdf2ps (मूल रूप से यहां मेरे पहले पूछे जाने वाले प्रश्न में प्रयास किया गया था: लिनक्स पाइपिंग (कन्वर्ट -> पीडीएफ 2पीएस -> एलपी) )।


अच्छी भूत सूची का प्रयास करें:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=merged.pdf mine1.pdf mine2.pdf

या यहां तक ​​कि कम संकल्प पीडीएफ के लिए एक बेहतर संस्करण के लिए इस तरह से (एड्रियनो को यह इंगित करने के लिए धन्यवाद):

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=merged.pdf mine1.pdf mine2.pdf

दोनों मामलों में आउटपुट रिज़ॉल्यूशन कन्वर्ट का उपयोग करके इस तरह से बहुत अधिक और बेहतर है:

convert -density 300x300 -quality 100 mine1.pdf mine2.pdf merged.pdf

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

उम्मीद है की यह मदद करेगा,

अद्यतन: आपकी सभी अच्छी टिप्पणियों के लिए सबसे पहले धन्यवाद !! सिर्फ एक टिप जो आपके लिए काम कर सकती है, गुगल करने के बाद, मुझे पीडीएफ के आकार को कम करने के लिए एक शानदार चाल मिली, मैंने इसके साथ एक स्वीकार्य संकल्प के साथ 300 एमबी के एक पीडीएफ को केवल 15 एमबी तक घटा दिया! और यह सब अच्छी ghostscript के साथ, यह है:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages -dCompressFonts=true -r150 -sOutputFile=output.pdf input.pdf

चियर्स !!


अपाचे पीडीएफबॉक्स http://pdfbox.apache.org/

पीडीएफ मेजर यह एप्लिकेशन पीडीएफ दस्तावेज़ों की एक सूची लेगा और उन्हें एक नए दस्तावेज़ में परिणाम सहेजने, उन्हें मर्ज करेगा।

उपयोग: जावा-पेज पीडीएफबॉक्स-ऐप-एक्सजजर पीडीएफ मेजर "स्रोत पीडीएफ फाइलें (2 .. एन)" "पीडीएफ फाइल लक्ष्य"


आप सीधे कन्वर्ट कमांड का उपयोग कर सकते हैं,

जैसे

convert sub1.pdf sub2.pdf sub3.pdf merged.pdf

पाइथन से पीडीएफ टूल्स का उपयोग करें https://pypi.python.org/pypi/pdftools/1.0.6

Tar.gz फ़ाइल डाउनलोड करें और इसे असम्पीडित करें और नीचे की तरह कमांड चलाएं

python pdftools-1.1.0/pdfmerge.py -o output.pdf -d file1.pdf file2.pdf file3 

उपर्युक्त आदेश चलाने से पहले आपको pyhton3 इंस्टॉल करना चाहिए

यह उपकरण नीचे का समर्थन करते हैं

  • जोड़ना
  • सम्मिलित
  • हटाना
  • घुमाएँ
  • विभाजित करें
  • मर्ज
  • ज़िप

आप नीचे दिए गए लिंक में अधिक जानकारी प्राप्त कर सकते हैं और यह ओपन सोर्स है

https://github.com/MrLeeh/pdftools


मुझे चास्मो का विचार पसंद है, लेकिन मैं चीजों के फायदे का उपयोग करने के लिए preffer

convert $(ls *.pdf) ../merged.pdf

लीड को एक सामान्य पीडीएफ में विलय करने के लिए कई स्रोत फ़ाइलों को देना। यह आदेश मूल निर्देशिका में .pdf एक्सटेंशन के साथ सभी फ़ाइलों को विलय करता है जो मूल dir में merged.pdf में merged.pdf है।


मैं pdfunite सिफारिश दूसरा। हालांकि, मुझे Argument list too long त्रुटियां मिल रही थीं क्योंकि मैं 2k पीडीएफ फाइलों को मर्ज करने का प्रयास कर रहा था।

मैं इसके लिए पाइथन और दो बाहरी पैकेजों में बदल गया: PyPDF2 (पीडीएफ से संबंधित सभी चीजों को संभालने के लिए) और natsort (निर्देशिका के फ़ाइल नामों का "प्राकृतिक" प्रकार करने के लिए)। अगर यह किसी की मदद कर सकता है:

from PyPDF2 import PdfFileMerger
import natsort
import os

DIR = "dir-with-pdfs/"
OUTPUT = "output.pdf"

file_list = filter(lambda f: f.endswith('.pdf'), os.listdir(DIR))
file_list = natsort.natsorted(file_list)

# 'strict' used because of
# https://github.com/mstamy2/PyPDF2/issues/244#issuecomment-206952235
merger = PdfFileMerger(strict=False)

for f_name in file_list:
  f = open(os.path.join(DIR, f_name), "rb")
  merger.append(f)

output = open(OUTPUT, "wb")
merger.write(output)

यदि आप सभी डाउनलोड की गई छवियों को एक पीडीएफ में कनवर्ट करना चाहते हैं तो निष्पादित करें

convert img{0..19}.jpg slides.pdf


यह देखते हुए कि pdfunite का हिस्सा है, इसे स्थापित करने का एक बड़ा मौका है, पीडीएफटीके से भी उपयोग सरल है:

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

pdfjoin a.pdf b.pdf और बीपीडीएफ की सामग्री के साथ एक नया b-joined.pdf pdfjoin a.pdf b.pdf बना देगा







command-line-interface