2017-02-24 8 views
11

मैं नीचे समान एक लाइन चार्ट बनाना चाहते हैं उत्पन्न मेरे लक्ष्य के बाद से चार्ट छवियों को ईमेल के माध्यम से भेजना है। मैं सोच रहा हूं कि अगर मैं कुछ <img src="http://imageapi.com?date1=20170101&date=20170130" /> जैसे कुछ डाल सकता हूं तो एपीआई चार्ट छवि उत्पादन को संभालेगा।रेखा चार्ट छवि है कि ईमेल के माध्यम से भेजा जाएगा

खोज पर, मुझे जावास्क्रिप्ट का उपयोग करके बहुत सारे चार्ट फ्रेमवर्क मिले लेकिन मुझे संदेह है कि यह अलग-अलग ईमेल क्लाइंट पर ठीक से काम करेगा।

बहुत बहुत धन्यवाद!

+2

क्या आपने HTML ईमेल को आजमाया था? – VMAtm

+0

आपका क्या मतलब है एचटीएमएल ईमेल? – Sherwin

+1

एसक्यूएल सर्वर रिपोर्टिंग सेवाएं इस प्रकार की रिपोर्ट को या तो मांग पर या सब्सक्रिप्शन –

उत्तर

6

Google Image Charts कि क्या करेंगे। यूआरएल के माध्यम से डेटा और प्रदर्शन सेटिंग्स पास करें, और यह एक छवि वापस कर देगा।

उदाहरण के लिए।

वह परीक्षण के लिए एक खेल का मैदान उपलब्ध कराने: https://developers.google.com/chart/image/docs/chart_playground

नोट तथापि है कि गूगल यह आगे बनाए रखने नहीं कर रहे हैं, लेकिन इस कार्यक्षमता को दूर करने के कोई योजना नहीं है

<img src="https://chart.googleapis.com/chart?cht=lc&chd=t:30,10,45,38,25|10,20,10,20,10&chls=2.0,0.0,0.0&chs=200x125&chg=0,20,3,3,10,20&chxt=x,y&chxl=0:|Week1|Week2|Week3|Week4|Week5|1:|0|20|40|60|80|100&chs=800x300&chm=o,ff9900,0,-1,10.0|d,ff0000,1,-1,10.0&chco=FFC6A5,DEBDDE&chdl=Click|GRU" /> 

इस चार्ट का उत्पादन :

गतिशील ए एनएंड इंटरएक्टिव Google चार्ट सक्रिय रूप से बनाए रखा जाता है, हमने आधिकारिक तौर पर 2012 में स्थिर Google छवि चार्टों को वापस कर दिया। इससे हमें बिना किसी सूचना के इसे बंद करने का अधिकार मिलता है, हालांकि हमारे पास ऐसा करने की कोई योजना नहीं है।

+0

ध्यान दें कि आपके प्रतिशत के लिए सही धुरी भी जोड़ना संभव है –

+0

यह ठंडा नहीं है कि Google के पास ऐसा कुछ नहीं है। यह मुझे विकास में बहुत समय बचाएगा। xD – Sherwin

1

आपका डिज़ाइन क्या है? आपका चार्ट वेब पेज में जेनरेट किया जाना चाहिए, तो यह HTML उत्पन्न होना चाहिए। यदि कोई HTML उत्पन्न नहीं होता है और केवल छवि उत्पन्न होती है तो यह सर्वोत्तम होती है। अब आप में एक ही सामग्री भेज सकते हैं।

छवि उसके बाद फिर से उत्पन्न नहीं है, तो आप है 2 विकल्प यहाँ i) चिंता js के साथ ईमेल के शरीर में पूरा एचटीएमएल भेजें/सीएसएस ii) आप छवि में उन एचटीएमएल में बदल सकते हैं (सी # कहें) का उपयोग करके मेल भेजें।

कृपया अपना पूरा परिदृश्य देखें।

1
  1. बाजार में उपलब्ध चार्ट एपीआई के विभिन्न प्रकार, दोनों खुला स्रोत और लाइसेंस प्राप्त है, तो आप पृष्ठ में अपने चार्ट/आरेख उत्पन्न करने के लिए किसी एक का उपयोग कर सकते हैं और आप निम्नलिखित कोड का उपयोग कर एक ईमेल संलग्नक के रूप में उस पृष्ठ पर भेज सकते हैं कर रहे हैं ।

    [HttpPost] 
    public ActionResult SendWebPageAsAttachment() 
    { 
        var subject = Request.Form["subject"]; // You can provide subject from page or code 
        var mailContent = Request.Form["bodyInnerHTML"]; // get the body inner HTML by form name 
    
        var Body = "<div style='background-color:white;'>" + Request.Form["mailContent"] + "</div>"; // Email Body 
        var attachmentName = DateTime.Now.ToString("yyyy/MM/dd").Replace("/", "-") + "_" + 
         DateTime.Now.ToLongTimeString().Replace(" ", "_") + ".html"; // Attachment Name 
    
        var baseUrl = HttpContext.Request.Url.Scheme + "://" + HttpContext.Request.Url.Authority + 
         HttpContext.Request.ApplicationPath.TrimEnd('/') + '/'; // Base URL 
        string src = @"src="""; 
    
        mailContent = mailContent.Replace(src, src + baseUrl.Remove(baseUrl.Length - 1)); 
        mailContent = "<html><head><link href='" + baseUrl + "Themes/styles.css' rel='stylesheet' type='text/css' /><link href='" + 
         baseUrl + "Themes/style.css' rel='stylesheet' type='text/css' /></head><body>" + WebUtility.HtmlDecode(mailContent) + 
         "</body></html>"; 
        try 
        { 
         SmtpClient smtpClient = new SmtpClient("mail.MyWebsiteDomainName.com", 25); 
         smtpClient.Credentials = new System.Net.NetworkCredential("[email protected]", "myIDPassword"); 
         smtpClient.UseDefaultCredentials = true; 
         smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; 
         smtpClient.EnableSsl = true; 
         MailMessage mail = new MailMessage(); 
    
         //Setting From , To and CC 
         mail.From = new MailAddress("[email protected]", "MyWeb Site"); 
         mail.To.Add(new MailAddress("[email protected]")); 
         mail.CC.Add(new MailAddress("[email protected]")); 
    
         mail.IsBodyHtml = true; 
         mail.Subject = subject; 
         mail.Body = Body; 
    
         var mailDataBytes = ASCIIEncoding.Default.GetBytes(mailContent); 
         var mailStream = new MemoryStream(mailDataBytes); 
         mail.Attachments.Add(new Attachment(mailStream, attachmentName)); 
         smtpClient.Send(mail); 
        } 
        catch (Exception ex) 
        { 
         //catch 
        } 
        ViewBag.IsHttpPost = true; 
        return View("SendWebPageAsAttachment"); 
    } 
    
+0

द्वारा ईमेल के माध्यम से वितरित की जा सकती हैं। :) – Sherwin

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