pdf - उच्च संकल्प के साथ पीडीएफ को छवि में कनवर्ट करें




imagemagick (7)

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

2 जेपीईजी पीडीएफ फाइल को कन्वर्ट कर सकता है जिसे आपने एक अच्छे तेज जेपीजी से जोड़ा है और एक कॉल में खाली मार्जिन फसल कर सकते हैं:

2jpeg.exe -src "C:\In\*.*" -dst "C:\Out" -oper Crop method:autocrop

मैं कमांड लाइन प्रोग्राम को एक छवि (जेपीईजी या पीएनजी) में पीडीएफ लेने convert लिए convert करने का प्रयास कर रहा हूं। यहां उन पीडीएफ में से एक है जिसे मैं कन्वर्ट करने की कोशिश कर रहा हूं।

मैं चाहता हूं कि कार्यक्रम अतिरिक्त श्वेत-स्थान को ट्रिम कर दे और उच्च गुणवत्ता वाली छवि वापस लौटाए जो सुपरस्क्रिप्ट आसानी से पढ़ा जा सके।

यह मेरा वर्तमान सबसे अच्छा प्रयास है । जैसा कि आप देख सकते हैं, ट्रिमिंग ठीक काम करती है, मुझे बस थोड़ा सा संकल्प तेज करने की आवश्यकता है। यह वह आदेश है जिसका मैं उपयोग कर रहा हूं:

convert -trim 24.pdf -resize 500% -quality 100 -sharpen 0x1.0 24-11.jpg

मैंने निम्नलिखित सचेत निर्णय लेने की कोशिश की है:

  • इसे बड़ा आकार दें (संकल्प पर कोई प्रभाव नहीं पड़ता है)
  • यथासंभव उच्च गुणवत्ता बनाओ
  • -sharpen उपयोग करें (मैंने मूल्यों की एक श्रृंखला की कोशिश की है)

अंतिम पीएनजी / जेपीईजी उच्च में छवि के संकल्प को प्राप्त करने के लिए कृपया कोई सुझाव बहुत सराहना की जाएगी!


आम तौर पर मैं मूल संकल्प पर 'pdfimages' के साथ एम्बेडेड छवि निकालता हूं, फिर ImageMagick के आवश्यक प्रारूप में कनवर्ट करें:

$ pdfimages -list fileName.pdf
$ pdfimages fileName.pdf fileName   # save in .ppm format
$ convert fileName-000.ppm fileName-000.png

यह सबसे अच्छी और छोटी परिणाम फ़ाइल उत्पन्न करता है।

नोट: हानिकारक जेपीजी एम्बेडेड छवियों के लिए, आपको -j:

$ pdfimages -j fileName.pdf fileName   # save in .jpg format

हालिया पॉपप्लर के साथ आप इसका उपयोग कर सकते हैं - जो कि जेपीजी और हानि रहित पीएनजी के रूप में हानिकारक बचाता है

विन प्रदान किए गए विन प्लेटफॉर्म पर आपको हाल ही में (0.37 2015) 'पॉपप्लर-यूज' बाइनरी डाउनलोड करना था: http://blog.alivate.com.au/poppler-windows/


एक और सुझाव यह है कि आप जीआईएमपी का उपयोग कर सकते हैं।

बस पीआईपी फाइल को जीआईएमपी-> .xcf के रूप में सहेजें और फिर आप जो भी छवि चाहते हैं वह कर सकते हैं।


ऐसा लगता है कि निम्नलिखित कार्य करता है:

convert           \
   -verbose       \
   -density 150   \
   -trim          \
    test.pdf      \
   -quality 100   \
   -flatten       \
   -sharpen 0x1.0 \
    24-18.jpg

यह बाएं छवि में परिणाम। मेरे मूल आदेश ( दाईं ओर की छवि ) के परिणामस्वरूप इसकी तुलना करें:

(दोनों के बीच मतभेदों को वास्तव में देखने और उनकी सराहना करने के लिए, प्रत्येक पर राइट-क्लिक करें और "नया टैब में छवि खोलें ..." चुनें ।)

निम्नलिखित तथ्यों को ध्यान में रखें:

  • दाईं ओर की बदतर, धुंधली छवि में फ़ाइल आकार 1.941.702 बाइट्स (1.85 एमबीटीई) है। 16-बिट आरजीबी रंग स्थान का उपयोग करते हुए इसका संकल्प 3060x3960 पिक्सेल है।
  • बाईं ओर बेहतर, तेज छवि में फ़ाइल का आकार 337.879 बाइट्स (330 केबीटीई) है। 8-बिट ग्रे रंग स्थान का उपयोग करके इसका संकल्प 758x996 पिक्सेल है।

तो, आकार बदलने की जरूरत नहीं है; -density ध्वज जोड़ें। घनत्व मान 150 अजीब है - मूल्यों की एक श्रृंखला का प्रयास करना दोनों दिशाओं में एक खराब दिखने वाली छवि में परिणाम देता है!


मैं प्रारंभिक छवि प्राप्त करने के लिए कमांड लाइन पर pdftoppm उपयोग करता pdftoppm , आमतौर पर 300 डीपीआई के संकल्प के साथ, इसलिए pdftoppm -r 300 , फिर ट्रिमिंग और पीएनजी रूपांतरण करने के लिए convert करें।


यह आपको अच्छे परिणाम भी देता है:

exec("convert -geometry 1600x1600 -density 200x200 -quality 100 test.pdf test_image.jpg");

व्यक्तिगत रूप से मुझे यह पसंद है।

convert -density 300 -trim test.pdf -quality 100 test.jpg

यह फ़ाइल आकार से थोड़ा अधिक है, लेकिन यह मेरे लिए बेहतर लग रहा है।

-density 300 डीपीआई सेट करता है जिसे पीडीएफ प्रस्तुत किया जाता है।

-trim किसी भी एज पिक्सल को हटा देता है जो कोने पिक्सेल के समान रंग होते हैं।

-quality 100 उच्चतम गुणवत्ता के लिए जेपीईजी संपीड़न गुणवत्ता सेट करता है।

चीजें जैसे -sharpen पाठ के साथ अच्छी तरह से काम नहीं करती हैं क्योंकि वे चीजों को पूर्ववत करते हैं जो आपके फ़ॉन्ट प्रतिपादन प्रणाली को अधिक -sharpen बनाने के लिए करते थे।

यदि आप वास्तव में इसे उड़ाते हैं तो इसका उपयोग यहां आकार बदलें और संभावित रूप से targetDPI * scalingFactor जैसे किसी बड़े डीपीआई मान का प्रस्ताव है जो आपके द्वारा प्रस्तावित संकल्प / आकार पर पीडीएफ प्रस्तुत करेगा।

Imagemagick.org पर पैरामीटर के विवरण here





imagemagick