2010-12-30 6 views
13

मैं एक तरह से तुरंत एक छवि के लिए html टैग कन्वर्ट करने के लिए की तलाश में हूँ के लिए html कन्वर्ट ...रेल छवि

इसका मतलब है, कि मैं एक के लिए एक पथ के साथ एक IMAGE_TAG बनाने के लिए सक्षम होना चाहते हैं विधि जो छवि बनाई गई फॉर्म एचटीएमएल लौटाती है।

मैं उस पर एक समाधान के लिए देख रहा था, लेकिन नहीं

किसी भी विचार है कि हल करने के लिए एक उचित तरीके के साथ आ सकता है ...?

Maechi

+2

इस दो बार पढ़ने के बाद, मैं अभी भी संदेह में हूँ कि तुम क्या पूरा करने की कोशिश कर रहे हैं। – tybro0103

+0

कृपया सभी को बताएं: 1) क्यों और 2) आप किस टैग प्रकार के बारे में बात कर रहे हैं? – jschorr

+0

क्या छवि एक छवि _of_ कुछ एचटीएमएल कोड टैग का एक सेट दिखाती है, एक पृष्ठ की एक छवि जो किसी विशेष ब्राउज़र में प्रस्तुत की जाती है, या आप पृष्ठ का एक विशेष भाग लेने की कोशिश कर रहे हैं, एक अनुच्छेद टैग कहें और उसे चालू करें एक छवि में जो उस पैराग्राफ को एक छवि के रूप में प्रदर्शित करता है - छवि जनरेटर को प्रभावी रूप से एक पाठ। या यह पूरी तरह से कुछ और है? – stef

उत्तर

1

मैं यहाँ एक जंगली अनुमान लेने के लिए जा रहा हूँ और लगता है कि आप एक छवि के लिए HTML कन्वर्ट, तो एक एक वेब पेज या कुछ और "स्नैपशॉट" लेना चाहते हैं। मुझे यकीन नहीं है कि यह एक चरण में वास्तव में कैसे करें, लेकिन ऐसा करने का एक तरीका है पीडीएफ में कनवर्ट करने के लिए PDFKit का उपयोग करना और फिर इच्छित छवि प्रारूप में कनवर्ट करने के लिए RMagick का उपयोग करना है।

+3

कोई ऐसा करने का कारण जटिल HTML लेआउट को ईमेल अनुकूल लेआउट में परिवर्तित करना है। –

26

IMGkit काम (details on github)

सादे पुराने HTML + सीएसएस का उपयोग कर JPGs बनाएं कर सकते हैं

kit = IMGKit.new('http://google.com') 
kit.to_jpg 
kit.to_jpeg 
kit.to_png 
kit.to_tif 
kit.to_tiff 

या अपने नियंत्रक

@kit = IMGKit.new(render_as_string) 

format.jpg do 
    send_data(@kit.to_jpg, :type => "image/jpeg", :disposition => 'inline') 
end 
+0

किसी भी पैरामीटर के बिना render_as_string क्या है? मुझे यह नहीं मिला .. क्या कोई मुझे कहीं इंगित कर सकता है? और render_to_string होना चाहिए? किसी भी मामले में, यह क्या करता है? –

+0

क्या आप इसे 'किट' में से एक फ़ाइल में एफ़टीपी के माध्यम से भेजने के लिए संपादित कर सकते हैं? –

+0

@JakubKuchar http://api.rubyonrails.org/classes/AbstractController/Rendering.html#method-i-render_to_string पहला तर्क उस दृश्य का मार्ग हो सकता है जिसे आप स्ट्रिंग के रूप में प्रस्तुत करना चाहते हैं, उदाहरण के लिए 'ऑर्डर/सारांश' । दस्तावेज़ यह सबसे अच्छा कहते हैं: _ यह प्रस्तुत करने के समान है, सिवाय इसके कि यह respond_body सेट नहीं करता है और इसे हमेशा स्ट्रिंग_ वापस करने की गारंटी दी जानी चाहिए। –

1

IMGKIT reqiured साथ सीएसएस में किसी भी पृष्ठभूमि छवि या अन्य संपत्तियों के लिए पूर्ण यूआरएल। तो आप इसे उत्पन्न कर सकते हैं गतिशील रूप से इस लिंक https://coderwall.com/p/exj0ig और कुछ कदम के रूप में

एक के बाद) रेल एप्लिकेशन

बी) स्थापित मणि 'सास-रेलों' के संपत्ति/छवियों में आपके सभी चित्रों को रखो फ़ोल्डर नहीं तो स्थापित https://github.com/rails/sass-rails

सी) css_file_name.css.sccs.erb के रूप में एक और सीएसएस फ़ाइल नाम बनाने

डी) इसमें अपनी सभी अन्य सीएसएस फ़ाइल सामग्री डालें।

ई) सीएसएस फ़ाइल सिर्फ अपने छवि फ़ाइल नाम डाल के रूप में नीचे में: पृष्ठभूमि: चित्र-यूआरएल ('image.png');

एफ) उपयोग संपत्ति pipline (http://guides.rubyonrails.org/asset_pipeline.html#how-to-use-the-asset-pipeline) अपने ऐप्लिकेशन मोड के रूप में आदेश नीचे रन: (1) विकास मोड: RAILS_ENV = विकास बंडल कार्यकारी रेक संपत्ति: precompile (2) उत्पादन मोड: RAILS_ENV = उत्पादन बंडल कार्यकारी रेक संपत्ति: precompile

जी) अपने config/वातावरण में/

(1) development.rb में config.action_controller.asset_host = "अपने स्थानीय होस्ट यूआरएल यानी YOUR_LOCALHOST_ADDRES एस "

(2) उत्पादन.आरबी config.action_controller में।asset_host = "http://assets.example.com"/अपना पता/

एच) और पुनः प्रारंभ सर्वर पिछले

नीचे
html_content = "YOUR HTML CONTENT" 
kit = IMGKit.new(html_content, height: 900, transparent:true, quality:10) /*YOUR SETTING*/ 
kit.stylesheets << "#{Rails.root}/public/assets/application.css" 
file = kit.to_file(Rails.root + "public/pngs/" + "screenshot.png") /*YOUR IMAGE NAME*/ 
send_file("#{Rails.root}/public/pngs/screenshot.png", :filename => "screenshot.png", :type => "image/png",:disposition => 'attachment',:streaming=> 'true') /*YOUR ADDRESS WHERE U WANT TO STORE PNG FILE*/ 

रूप IMGKIT के साथ अपने स्टाइलशीट संबंधित आई) और आनंद !!!!!

[नोट:। के बाद हर परिवर्तन संपत्ति चलाएं जो pipline आदेश नवीनतम application.css जो .sccs.erb एक्सटेंशन फ़ाइल से बनाया गया है पाने के लिए]

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