मैं convert
संस्करण छविमैजिक 6.6.2-6 2011-03-16 का उपयोग कर रहा हूं, और मैं इसे एक छवि से ए 4 पीडीएफ उत्पन्न करने के लिए उपयोग करना चाहता हूं, जहां छवि गैर-स्केल और केंद्रित होगी।Imagemagick का उपयोग कर पीडीएफ में एक .jpg छवि को केंद्रित करना?
मैं चल रहा हूँ निम्नलिखित (Overlaying Images with ImageMagick के संशोधन के रूप में):
# generate a 100x100 JPG with just red color
convert -size 100x100 xc:red red.jpg
# generate PDF from JPG
convert -page A4 xc:white red.jpg -gravity center -composite -format pdf out.pdf
... लेकिन, मूल रूप से कुछ भी नहीं पता चलता है? एक ही बात एक PNG छवि के लिए होता है ...
ध्यान दें कि
- बस '
convert -page A4 red.jpg out.pdf
' काम करता है - लेकिन छवि केंद्रित नहीं है; - छवि png है (
-gravity center
छवि को दिखाने के लिए नहीं का कारण बनता है), 'convert -page A4 -gravity center red.png out.pdf
' वास्तव में अच्छा काम करता है
... हालांकि, मैं convert
चाहें जेपीईजी धारा की सामग्री को एम्बेड करने के लिए सीधे - इसलिए, मैं जेपीजी को पहले पीएनजी में परिवर्तित नहीं करना चाहता हूं।
तो, क्या ए 4 पीडीएफ पेज में सीधे जेपीजी छवि को केंद्र में रखने के लिए convert
का उपयोग करना संभव होगा?
किसी भी उत्तर के लिए अग्रिम में बहुत धन्यवाद,
चीयर्स!
EDIT2: @ जॉन केयस जवाब ऊपर के उदाहरण के लिए काम करता है; जहां छवि पीडीएफ आकार की तुलना में "छोटी" है - हालांकि अगर छवि बड़ी है, उदाहरण के लिए:
$ convert -size 1228x1706 -background \#f44 -rotate 45 gradient:\#f00-\#fff red.jpg
$ identify red.jpg
red.jpg JPEG 2075x2075 2075x2075+0+0 8-bit DirectClass 120KB 0.000u 0:00.000
... तो यह असफल हो जाएगा। हालांकि, यह पता चला है: "if you change -extent to 50x50, then play with -gravity, you'll see changes" - सिवाय इसके कि सवाल यह है कि: कौन सा सीमा बदलती है, छवि की - या अंतिम पीडीएफ की?
खैर, यह पता चला है - यह अंतिम PDF की हद तक ... कि आकार के रूप में convert
इसे देखता है पृष्ठ की जाँच ढूंढने के लिए, है: Magick::Geometry - हालांकि, ध्यान दें कि "पोस्टस्क्रिप्ट पृष्ठ आकार विनिर्देशों" "A4+43+43>
की तरह दुर्भाग्य से, इस संदर्भ में क्रैश होने के लिए convert
का कारण बनता है ... लेकिन कम से कम आकार के लिए संबंधित संख्या (5 9 5x842) पृष्ठ से कॉपी की जा सकती है; और अंत में यह काम करता है:
convert -page A4 -gravity center -resize 595x842 -extent 595x842 red.jpg out.pdf
... और वास्तव में, -extent
हिस्सा वास्तव में जरूरत नहीं है - -resize
हिस्सा बड़ी छवि दिखाने के लिए महत्वपूर्ण है ..
हालांकि, समस्या यहाँ यह है कि इसमें शामिल छवि को दोबारा दिखाना प्रतीत होता है - हालांकि, मैं इसे स्केल करना चाहता हूं, इसलिए यह पृष्ठ को फिट करता है, लेकिन अन्यथा मूल जेपीजी स्ट्रीम को फ़ाइल में डालने की इच्छा होगी ..तो मुझे लगता है कि सवाल अब भी आंशिक रूप से खुला :)
संपादित है: संबंधित:
- ImageMagick Gravity parameter - Stack Overflow
- ImageMagick and Geometry Issue - resizing with > - Stack Overflow
- command line - Resizing and croping images to an aspect ratio of 6x4 with width of 1024 pixels - Unix and Linux - Stack Exchange
- conversion - using imagemagick or ghostscript (or something) to scale PDF to fit page? - Stack Overflow
बहुत बढ़िया - @ जॉन कीज! मैंने शपथ ली थी कि मैंने पहले ही '-फॉर्मेट पीडीएफ' के साथ कुछ कोशिश की थी और मैं असफल रहा; लेकिन मैं पहले कमांड लाइन की कोशिश कर रहा हूं और यह बहुत अच्छा काम करता है! :) फिर से धन्यवाद - चीयर्स! – sdaau
आपका स्वागत है। मैं कई बार ImageMagick विकल्पों के खरगोश छेद नीचे चला गया है। –
यह मेरे मामले में 5 MByte JPEG को परिवर्तित करने में बड़ी छवियों (संस्करण 6.9.2) के लिए काम नहीं करता है। यह सिर्फ एक खाली पृष्ठ पैदा करता है। "गुरुत्वाकर्षण केंद्र" विकल्प के बिना यह काम करता है, लेकिन निश्चित रूप से केंद्रित नहीं है। एक खुला मुद्दा लगता है: https://www.imagemagick.org/discourse-server/viewtopic.php?t=22759 – mischka