2013-04-18 5 views
7

जब मैं इस तरह एक छवि (72dpi पर पीएनजी) सम्मिलित करने के लिए झींगा का उपयोग कर, की कोशिश: (। और बड़ा)Prawn स्वचालित रूप से मेरी छवि का आकार क्यों बदलता है?

image "#{Rails.root}/public/images/pdf/logo.png" 

झींगा छवि सम्मिलित करता है, लेकिन लगभग 30% है जो यह धुँधली बनाता द्वारा इसे मापता है मैं न फ़ाइल और पीडीएफ प्रारंभ में कुछ और है काफी मानक है:

super(:page_layout => :portrait, 
     :left_margin => 0.5.in, 
     :right_margin => 0.5.in, 
     :top_margin => 1.in, 
     :bottom_margin => 0.5.in) 

प्रलेखन के आधार पर, झींगा किसी भी संशोधन के बिना दस्तावेज़ में चित्र डालने के लिए माना जाता है। यह छवि क्यों बदल रही है?


नोट: मैंने देखा है कि बाउंडिंग बॉक्स भी बड़ा की तुलना में वे (मेरी छवि के रूप में ही अनुपात से) होना चाहिए।

+1

यह 68px – Alain

+0

द्वारा 158 पीएक्स है इस समस्या के साथ कुछ करने के लिए कुछ हो सकता है कि पीडीएफ फाइलें स्क्रीन संस्करण की तुलना में प्रिंट संस्करण की तरह कैसे कार्य करती हैं एक दस्तावेज़ का। जब तक 'डीपीआई' बदलना कुछ भी नहीं करता (जो, [इस पुराने धागे] के अनुसार (https://groups.google.com/forum/?fromgroups=#!topic/prawn-ruby/MbMsCx862iY) ऐसा प्रतीत नहीं होता है एक प्रभाव,) छवि को डालने पर आप 'चौड़ाई' और 'ऊंचाई' पैरामीटर सेट करने का प्रयास कर सकते हैं; मैंने परीक्षण फ़ाइल पर कोशिश की, और यह छवि को थोड़ा तेज करता है। – summea

+1

इसके अलावा, संदर्भ के लिए: "प्रोन में आधार इकाई पीडीएफ प्वाइंट है। एक पीडीएफ प्वाइंट एक इंच के 1/72 के बराबर है।" – summea

उत्तर

5

आप चौड़ाई और ऊंचाई में छवि वास्तव में देखना है कि अगर मदद करता है

झींगा :: छवियाँ

सार्वजनिक दृष्टांत तरीके छवि गुजर कोशिश कर सकते हैं (फ़ाइल, विकल्प = {}) टॉगल स्रोत

फ़ाइल नाम पर वर्तमान पृष्ठ पर छवि जोड़ें पर क्लिक करें। वर्तमान में केवल जेपीजी और पीएनजी फाइलें समर्थित हैं।

नोट: प्राग अल्फा चैनलों के साथ पीएनजी को प्रस्तुत करने में बहुत धीमी है।

github.com/amberbit/prawn-fast-png

तर्क:

फ़ाइल दायर करने के लिए या पथ एक वस्तु है कि #

विकल्प का जवाब जो लोग स्थापित करने RMagick कोई आपत्ति नहीं है के लिए तरीके का उपयोग करने के लिए है:

: पर एक सरणी [x, y] इमा के ऊपरी बाएं कोने के स्थान के साथ जीई।

: स्थिति की एक (:, छोड़ दिया: सेंटर,: दाएं) या एक एक्स-ऑफसेट

: vposition में से एक (: ऊपर,: सेंटर,: केंद्र) या एक y-ऑफसेट

: ऊंचाई छवि की ऊंचाई [छवि की वास्तविक ऊंचाई]

: चौड़ाई छवि [छवि की वास्तविक चौड़ाई] की चौड़ाई

012,

: पैमाने पैमाने छवि के आयाम आनुपातिक

: फिट पैमाने छवि के आयाम आनुपातिक अंदर फिट करने के लिए [चौड़ाई, ऊँचाई]

Prawn::Document.generate("image2.pdf", :page_layout => :landscape) do  
    pigs = "#{Prawn::BASEDIR}/data/images/pigs.jpg" 
    image pigs, :at => [50,450], :width => 450          

    dice = "#{Prawn::BASEDIR}/data/images/dice.png" 
    image dice, :at => [50, 450], :scale => 0.75 
    end 

हैं का केवल एक: चौड़ाई /: ऊंचाई प्रदान की जाती है, छवि आनुपातिक रूप से स्केल की जाएगी। जब दोनों प्रदान किए जाते हैं, तो छवि पहलू अनुपात को बनाए रखे बिना आयामों को फिट करने के लिए बढ़ाया जाएगा।

यदि: प्रदान किया गया है, तो छवि वर्तमान पृष्ठ में होगी, लेकिन टेक्स्ट स्थिति बदली नहीं जाएगी।

यदि एक स्पष्ट फ़ाइल नाम के बजाय, एक विधि के साथ एक ऑब्जेक्ट फ़ाइल के रूप में पास किया जाता है, तो आप आईओ ऑब्जेक्ट्स और उन चीजों से छवियां एम्बेड कर सकते हैं जो उनके जैसे कार्य करते हैं (टेम्पम्फाइल और ओपन-यूरी ऑब्जेक्ट्स सहित)।

require "open-uri" 

    Prawn::Document.generate("remote_images.pdf") do 
    image open("http://prawn.majesticseacreature.com/media/prawn_logo.png") 
    end 

इस विधि एक छवि जानकारी वस्तु जो यदि आवश्यक हो तो एक छवि वस्तु के आयामों की जांच करने के लिए किया जा सकता देता है। (यह भी देखें: प्रोन :: छवियां :: पीएनजी, प्रॉन :: छवियां :: जेपीजी)

+0

हाय, मैं जानना चाहता हूं कि मैं पीडीएफ के केंद्र में छवि को स्थान देना चाहता हूं, मुझे क्या करना चाहिए? मुझे पता है कि डर vposition n स्थिति है लेकिन मैं टेक्स्ट है जिसमें छवि के ऊपर आने की आवश्यकता है, इसलिए मैं स्थिति n vposition का उपयोग नहीं कर सकता –

संबंधित मुद्दे