تولید QR Code در ASP.NET

پنجشنبه 18 تیر 1394

در این مقاله به بررسی نحوه ایجاد QR Code در برنامه های کاربردی ASP.NET با استفاده از Google API می پردازیم.

تولید QR Code در ASP.NET

یک مثال ساده جهت شرح نحوه ایجاد QR Code در ASP.NET با استفاده از Googel API:

راه حل های بسیاری برای ایجاد QR Code در ASP.NET موجود می باشد که تمام آنها نیازمند مراجعه به کتابخانه های زیر هستند.


using QRCoder;
using System.IO;
using System.Drawing;

اما ما یک راه حل ساده به شما پیشنهاد می کنیم که با آن می توانیم QR Code را در ASP.NET در کمترین زمان بدون مراجعه به این سه گروه از کتابخانه ها ایجاد کنیم. برنامه به این صورت عمل می کند که ما اطلاعات موردنظر خود را از طریق textbox موجود در صفحه به آدرس Google API ارسال می کنیم. و Google با توجه به کتابخانه هایی در اختیار دارد برای ما تصویر مربوط به QR Code موردنظر ما را تولید می کند.

در ابتدا یک برنامه کاربردی تحت وب در ASP.NET ایجاد میکنم. در این برنامه یک textbox، یک image control و یک button مانند کد زیر ایجاد می کنیم.

 <asp:TextBox runat="server" ID="txtData"></asp:TextBox>  
   <asp:Button runat="server" ID="btnClickMe" Text="انتخاب کنید" OnClick="btnClickMe_Click" />  
<br />  
        <br/>
<asp:Image runat="server" ID="ImgQrCode" Height="160" Width="160" /> 

 

در ادامه کار برای رویداد انتخاب Button موجود، یک URL تولید می شود که اطلاعات وارد شده در textbox را به API ارسال می کند و با توجه به نوع اطلاعات ارسال شده، Google API یک QR Code تولید می کند. همچنین تنظیمات مربوط به خصوصیات سایز تصویر تولید شده در همین بخش انجام می شود.

 public void btnClickMe_Click(object sender, EventArgs e)
        {
            ImgQrCode.ImageUrl = "https://chart.googleapis.com/chart?cht=qr&chl=" +
                WebUtility.HtmlEncode(txtData.Text) + "&choe=UTF-8&chs=" +
                ImgQrCode.Height.ToString().Replace("px", "") + "x" + ImgQrCode.Width.ToString().Replace("px", "");
        }

 

نتیجه اجرای برنامه را در تصویر زبر مشاهده نمایید.

 

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید