All Tools / Blog / इमेज को PDF में कैसे बदलें (मुफ़्त)

इमेज को PDF में कैसे बदलें (मुफ़्त)

3 min read

इमेज को PDF में बदलने से प्रिंट के लिए लेआउट ठीक रहता है, फ़ाइल फ़ॉर्मेट की ज़रूरत पूरी होती है, और कई पेज एक फ़ाइल में आ जाते हैं। इसके लिए किसी पेड सॉफ़्टवेयर की ज़रूरत नहीं।

ब्राउज़र में

Image to PDF टूल में इमेज खींचें। ज़रूरत हो तो पेज क्रम बदलें, फिर PDF डाउनलोड करें। टूल क्लाइंट-साइड चलता है — फ़ाइलें आपके डिवाइस से बाहर नहीं जातीं। समर्थित फ़ॉर्मेट: JPEG, PNG, WebP, GIF।

img2pdf (कमांड लाइन, लॉसलेस)

img2pdf इमेज को बिना री-एनकोड किए PDF कंटेनर में रखता है। JPEG इनपुट PDF के अंदर JPEG ही रहता है — कंप्रेशन से कोई क्वालिटी नुकसान नहीं।

pip install img2pdf

# एकल इमेज
img2pdf image.jpg -o output.pdf

# एकाधिक इमेज (हर एक अलग पेज बनती है)
img2pdf page1.jpg page2.jpg page3.jpg -o output.pdf

# फ़ोल्डर की सभी JPEG, नाम से क्रमबद्ध
img2pdf $(ls *.jpg | sort) -o combined.pdf

# पेज साइज़ A4 करें
img2pdf image.jpg --pagesize A4 -o output.pdf

ImageMagick या Ghostscript के विपरीत, img2pdf इमेज डेटा डीकंप्रेस और रीकंप्रेस नहीं करता। आउटपुट PDF में इमेज क्वालिटी इनपुट जैसी ही रहती है।

ImageMagick (कमांड लाइन)

# एकल इमेज
convert image.jpg output.pdf

# कई इमेज एक PDF में
convert page1.jpg page2.jpg page3.jpg output.pdf

# सही फिज़िकल साइज़ के लिए DPI सेट करें
convert -density 150 image.jpg output.pdf

# ट्रांसपेरेंसी वाली PNG — पहले सफ़ेद बैकग्राउंड फ्लैटन करें
convert image.png -background white -flatten output.pdf

Ubuntu पर ImageMagick अक्सर डिफ़ॉल्ट रूप से PDF आउटपुट ब्लॉक करता है। अगर "not authorized" एरर आए:

sudo nano /etc/ImageMagick-6/policy.xml
# ढूंढें: <policy domain="coder" rights="none" pattern="PDF" />
# बदलें: <policy domain="coder" rights="read|write" pattern="PDF" />

Python: Pillow

from PIL import Image

# एकल इमेज PDF में
with Image.open('image.jpg') as img:
    img.convert('RGB').save('output.pdf')

# कई इमेज एक PDF में
images = [Image.open(f).convert('RGB') for f in ['page1.jpg', 'page2.jpg', 'page3.jpg']]
images[0].save('output.pdf', save_all=True, append_images=images[1:])

Python: img2pdf (लॉसलेस)

import img2pdf

# एकल इमेज
with open('output.pdf', 'wb') as f:
    f.write(img2pdf.convert('image.jpg'))

# कई इमेज
with open('output.pdf', 'wb') as f:
    f.write(img2pdf.convert(['page1.jpg', 'page2.jpg', 'page3.jpg']))

स्कैन किए पेज का पूरा फ़ोल्डर जोड़ें

import img2pdf
from pathlib import Path

pages = sorted(Path('scans/').glob('*.jpg'))
with open('document.pdf', 'wb') as f:
    f.write(img2pdf.convert([str(p) for p in pages]))
print(f'{len(pages)} पेज document.pdf में जोड़े गए')

फ़ाइलनाम से क्रम करने पर पेज सही क्रम में रहते हैं। अगर स्कैनर तारीख या सीक्वेंस नंबर से फ़ाइलें नाम देता है, sorted() इसे ठीक कर देता है।

पेज साइज़ और DPI

ज़्यादातर कन्वर्टर पेज साइज़ इमेज के डाइमेंशन के बराबर सेट करते हैं। स्टैंडर्ड पेपर साइज़ के लिए:

# img2pdf: A4 पेज पर फिट करें
img2pdf image.jpg --pagesize A4 -o output.pdf

# ImageMagick: 150 DPI पर A4
convert -density 150 -page A4 image.jpg output.pdf

स्कैन किए दस्तावेज़ों के लिए DPI गाइड:

उपयोग DPI नोट
स्क्रीन पर पढ़ना 96–150 छोटी फ़ाइल, पठनीय
सामान्य प्रिंट 150–200 अच्छी क्वालिटी, उचित साइज़
आर्काइव / कानूनी 300 बड़ी फ़ाइलें; बारीक विवरण संरक्षित

मुख्य बातें

  • img2pdf लॉसलेस कन्वर्शन के लिए सबसे अच्छा कमांड-लाइन विकल्प है — यह JPEG डेटा री-एनकोड नहीं करता।
  • Pillow का save('output.pdf', save_all=True, append_images=...) कई इमेज एक PDF में जोड़ता है।
  • ट्रांसपेरेंसी वाली PNG को कन्वर्शन से पहले सफ़ेद बैकग्राउंड पर फ्लैटन करें।
  • स्कैन पेज जोड़ने से पहले फ़ाइलनाम क्रम में करें, वरना पेज का क्रम गलत होगा।
  • स्क्रीन-ओनली दस्तावेज़ के लिए 150 DPI; प्रिंट या आर्काइव के लिए 300 DPI।