2008-12-02 19 views
11

मैं गतिशील इनपुट और एक फसल वाली छवि के आधार पर एक कूपन उत्पन्न कर रहा हूं, और मैं अभी एनटीएमएल और सीएसएस का उपयोग कर कूपन प्रदर्शित कर रहा हूं, समस्या यह है कि प्रिंटिंग यह एक मुद्दा बन गया है कि कैसे प्रिंटिंग और अन्य समस्याओं के दौरान पृष्ठभूमि गायब हो जाती है, इसलिए मुझे लगता है कि सबसे अच्छा समाधान एचटीएमएल के आधार पर एक छवि उत्पन्न करने में सक्षम होगा, या किसी प्रकार का टेम्पलेट सेट करेगा जो तारों और छवि में लेता है, और छवि का उपयोग करके एक छवि उत्पन्न करता है एक पृष्ठभूमि के रूप में खिलाया और कूपन जानकारी शीर्ष पर रखता है।एचटीएमएल को एक छवि के रूप में प्रस्तुत करें

क्या ऐसा कुछ भी है जो पहले से ही करता है?

यह एएसपी.NET 3.5 सी # वेबसाइट के लिए है!

अग्रिम धन्यवाद।

संपादित करें: आउटपुट एचटीएमएल इनपुट पर आधारित हो सकता है, तो यह अच्छा होगा, क्योंकि कूपन को jQuery का उपयोग करके डीओएम में हेरफेर करके और आसपास सामान खींचकर डिज़ाइन किया गया है, यह सब ठीक काम करता है, यह तब होता है जब यह आता है प्रिंटिंग (पेपर में) इसमें ज़ेड-इंडेक्सिंग समस्याएं हैं।

उत्तर

10

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

Bitmap FinalBitmap = new Bitmap(); 
MemoryStream msStream = new MemoryStream(); 

strInputParameter == Request.Params("MagicParm").ToString() 

// Magic code goes here to generate your bitmap image. 
FinalBitmap.Save(msStream, ImageFormat.Png); 

Response.Clear(); 
Response.ContentType = "image/png"; 

msStream.WriteTo(Response.OutputStream); 

if ((FinalBitmap != null)) FinalBitmap.Dispose(); 

और बस हो गया! तो आपको अपनी छवि में क्या करना है यूआरएल को RenderImage.aspx जैसे कुछ करने के लिए सेट किया गया है? MagicParm = WooHoo या जो भी आपको चाहिए। इस तरह आप इसे जो कुछ भी निर्दिष्ट करना चाहते हैं उसे प्रस्तुत कर सकते हैं।

+0

इसलिए यह गतिशील रूप से टेक्स्ट के साथ पृष्ठभूमि के रूप में छवि उत्पन्न करने की अनुमति देगा शीर्ष, डेटाबेस से खींच लिया? यदि ऐसा है तो यह स्पिफी लगता है! – Tablet

+0

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

+0

जादू कोड क्या है ?? – user287745

0

GD नामक एक बहुत शक्तिशाली छवि निर्माण पुस्तकालय है जिसे मैं अक्सर PHP के साथ उपयोग करता हूं।

मुझे विश्वास है कि इस पुस्तकालय के लिए एक रैपर है जो एएसपी प्रोग्रामर उपयोग कर सकते हैं। Try this

0

जब तक "अन्य समस्याएं" बहुत गंभीर नहीं होती हैं, तो क्या आप प्रिंट करने के दौरान अपने उपयोगकर्ताओं को पृष्ठभूमि छवियों को चालू करने के लिए निर्देश नहीं दे सकते?

किसी भी मामले में, मैं एक छवि के बजाय पीडीएफ की सेवा करने के लिए डिफ़ॉल्ट रूप से डिफ़ॉल्ट रूप से डिफ़ॉल्ट रूप से प्रिंट करने के लिए डिफ़ॉल्ट रूप से काम करता हूं।

+0

क्या मैं HTML का उपयोग करके पीडीएफ उत्पन्न कर सकता हूं? यदि यह पीडीएफ में "प्रिंट" करता है, तो यह वही समस्या का कारण बनता है जो मुझे जेड-इंडेक्सिंग – Tablet

1

PDFSharp आज़माएं ... यह बिल्कुल सही नहीं है "यह HTML ले लो और पीडीएफ बनाएं" लेकिन झुकाव के एक छोटे से उत्साह के साथ आप आसानी से एचटीएमएल बनाने के लिए उपयोग की जा रही जानकारी से पीडीएफ बना सकते हैं।

+4

के साथ मिल रहा है, छोटी राशि वहां एक अल्पमत हो सकती है; डी –

3

आप किसी भी Winforms या कंसोल एप्लिकेशन में WebBrowser नियंत्रण का उपयोग करके बिटमैप को HTML प्रस्तुत कर सकते हैं।

इस का एक उदाहरण यहां पाया जा सकता: http://www.wincustomize.com/articles.aspx?aid=136426&c=1

ऊपर के उदाहरण एक नया STAThread बनाने और एक नया संदेश पाश शुरू करने के लिए उस पर एक Application.Run प्रदर्शन से ASP.Net में चलाने के लिए संशोधित किया जा सकता।http://wiki.goatpr0n.de/projects/khtmld

वेबसाइट है:

3

PHP/रूबी वैकल्पिक


आप इस प्रश्न को एक्सेस किया है और वास्तव में soething कि विंडोज के बिना काम करेंगे के लिए देख रहे हैं, तो आप KHTML पुस्तकालय कोशिश कर सकते हैं एक हास्यास्पद नाम मैं स्वीकार करता हूं, लेकिन मैं आपको आश्वस्त कर सकता हूं कि यह वास्तविक है। अन्य संबंधित पृष्ठ हैं: स्रोत फोर्ज पेज http://khtml2png.sourceforge.net/

0

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

0

मैंने खुद को करने की कोशिश नहीं की है, लेकिन आप वेब ब्रोसर नियंत्रण और आधार नियंत्रण वर्ग से प्राप्त DrawToBitmap() विधि का उपयोग कर एक छवि में HTML प्रस्तुत करने में सक्षम होना चाहिए।

अद्यतन: मैंने इसे स्वयं करने की कोशिश की और कुछ चेतावनी हैं। WebBrowser नियंत्रण वेब पेज प्रस्तुत करने के लिए प्रतीत नहीं होता है जब तक कि नियंत्रण दिखाया न जाए, इसलिए WebBrowser को फ़ॉर्म में होना आवश्यक है और फ़ॉर्म को HTML के लिए प्रस्तुत किया जाना चाहिए और दस्तावेज़ पूर्ण ईवेंट को उठाया जाना चाहिए।

1

मार्कअप केवल वैकल्पिक समाधान

एसवीजी और XSLT उपयोग करने वाला कोई चित्र प्रदान की जा सकती है/बचाया/आदि में एचटीएमएल डेटा को बदलने के लिए।

मैं स्वीकार करूंगा कि पहले यह सभी निर्देशांकों के कारण काम करने के लिए कठिन था, लेकिन यह चलने के बाद प्रयास के लायक है।

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