/// <summary> /// Encode text in to a QR Code and define the colors and the Errer Correction Level /// </summary> /// <param name="text"></param> /// <param name="darkColor"></param> /// <param name="lightColor"></param> /// <param name="errorCorrectionLevel"></param> /// <returns></returns> public static Texture2D EncodeString(string text, Color darkColor, Color lightColor, QRCodeGenerator.ECCLevel errorCorrectionLevel) { QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeGenerator.QRCode qrCode = qrGenerator.CreateQrCode(text, errorCorrectionLevel); Texture2D qrTexture = qrCode.GetGraphic(PIXELS_PER_MODULE, darkColor, lightColor); return qrTexture; }
/// <summary> /// Encode text in to a QR Code /// </summary> /// <param name="text"></param> /// <returns></returns> public static Texture2D EncodeString(string text) { QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeGenerator.QRCode qrCode = qrGenerator.CreateQrCode(text, QRCodeGenerator.ECCLevel.L); Texture2D qrTexture = qrCode.GetGraphic(PIXELS_PER_MODULE); return qrTexture; }
void GenerateQR(string value) { QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeGenerator.QRCode qrCode = qrGenerator.CreateQrCode(value, QRCodeGenerator.ECCLevel.Q); using (Bitmap bitMap = qrCode.GetGraphic(20)) { using (MemoryStream ms = new MemoryStream()) { bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png); byte[] byteImage = ms.ToArray(); imgQR.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage); } } }
public QRLinkWindow(PedroFileDownload fileData) { InitializeComponent(); //PayloadGenerator.Url url2 = new PayloadGenerator.Url("www.google.es"); PayloadGenerator.Url url = new PayloadGenerator.Url(fileData.Url + @"/index.html"); //PayloadGenerator.WiFi wifiPayload = new PayloadGenerator.WiFi("MyWiFi-SSID", "MyWiFi-Pass", PayloadGenerator.WiFi.Authentication.WPA); QRCodeGenerator.ECCLevel eccLevel= QRCodeGenerator.ECCLevel.L; QRCodeGenerator qrGenerator = new QRCodeGenerator(); //QRCodeData qrCodeData = qrGenerator.CreateQrCode(@fileData.Url+@"\index.html", eccLevel); QRCodeData qrCodeData = qrGenerator.CreateQrCode(url.ToString(), eccLevel); QRCode qrCode = new QRCode(qrCodeData); Bitmap qrCodeBitmap = qrCode.GetGraphic(20, "#000000", "#ffffff"); ImageSource qrImageSource =ConvertBitmapToBitmapImage(qrCodeBitmap); imgQrCode.Source = qrImageSource; }
public void MaterialQRCode(long storeId, long detailboxId) { Wms_stockoutdetail_box detailBox = _client.Queryable <Wms_stockoutdetail_box>() .First(c => c.DetailBoxId == detailboxId); Wms_stockoutdetail detail = _client.Queryable <Wms_stockoutdetail>() .First(c => c.StockOutDetailId == detailBox.StockOutDetailId); Wms_stockout stockout = _client.Queryable <Wms_stockout>() .First(c => c.StockOutId == detail.StockOutId); string dateStr = DateTime.Now.ToString("yyyyMMddhhmmssfff"); string strQR = $"{detail.UniqueIndex}@@{detailBox.StockInUniqueIndex}@@{dateStr}@@{detailBox.PlanQty} "; QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode( strQR, QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); Bitmap qrCodeImage = qrCode.GetGraphic(20); qrCodeImage.Save(this.Response.Body, ImageFormat.Png); }
private void bt_pdf_Click(object sender, EventArgs e) { MySqlDataAdapter donnee = new MySqlDataAdapter(); MySqlConnection conn = new MySqlConnection(_connectionString); conn.Open(); string sql = "select * from participant where Email = '" + cb_mail.Text + "'"; MySqlCommand cmd = new MySqlCommand(sql, conn); MySqlDataReader rdr = cmd.ExecuteReader(); rdr.Read(); string prenom = rdr.GetString(3); string nom = rdr.GetString(2); string departement = rdr.GetString(4); QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode(cb_mail.Text, QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); Bitmap qrCodeImage = qrCode.GetGraphic(5); XImage qrXimage = qrCodeImage; PdfDocument document = new PdfDocument(); document.Info.Title = prenom + cb_mail.Text; PdfPage page = document.AddPage(); XGraphics gfx = XGraphics.FromPdfPage(page); XFont font = new XFont("Code 128", 60, XFontStyle.Regular); XFont font2 = new XFont("LEMONMILK-Bold", 60, XFontStyle.Regular); gfx.DrawImage(qrXimage, 240, 300); gfx.DrawString(nom + " " + prenom, font2, XBrushes.Black, new XRect(0, -350, page.Width, page.Height), XStringFormats.Center); gfx.DrawString(departement, font2, XBrushes.Black, new XRect(0, -150, page.Width, page.Height), XStringFormats.Center); string filename = prenom + nom + "badge.pdf"; document.Save(filename); Process.Start(filename); }
public string Generate(Uri target) { // https://github.com/guitarrapc/SkiaSharp.QrCode using (var generator = new QRCodeGenerator()) { var code = generator.CreateQrCode(target.OriginalString, ECCLevel.Q); var info = new SKImageInfo(256, 256); using (var surface = SKSurface.Create(info)) { var canvas = surface.Canvas; canvas.Render(code, info.Width, info.Height); using (var image = surface.Snapshot()) using (var data = image.Encode(SKEncodedImageFormat.Png, 100)) { return(Convert.ToBase64String(data.ToArray())); } } } }
protected void btnContactDetails_Click(object sender, EventArgs e) { string code = string.Concat(this.txtType.Text, ";", this.txtContactID.Text, ";", this.txtcontactname.Text, ";", this.txtcontactlastname.Text, this.txtDefaultCurrency.Text, this.txtalternateCurrency.Text, this.txtcontactDOB.Text, this.txtLanguage.Text); QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode(code, QRCodeGenerator.ECCLevel.Q); System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image(); imgBarCode.Height = 150; imgBarCode.Width = 150; QRCode qrCode = new QRCode(qrCodeData); using (Bitmap bitMap = qrCode.GetGraphic(20)) { using (MemoryStream ms = new MemoryStream()) { bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png); byte[] byteImage = ms.ToArray(); imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage); } plBarCode.Controls.Add(imgBarCode); } }
protected void btnTrxP2B_Click(object sender, EventArgs e) { string code = string.Concat(this.txtp2bmerchantid.Text, ";", this.txtp2bAmount.Text, ";", this.txtp2bReference.Text, ";", this.ddlp2bCurrency.SelectedValue); QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode(code, QRCodeGenerator.ECCLevel.Q); System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image(); imgBarCode.Height = 150; imgBarCode.Width = 150; QRCode qrCode = new QRCode(qrCodeData); using (Bitmap bitMap = qrCode.GetGraphic(20)) { using (MemoryStream ms = new MemoryStream()) { bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png); byte[] byteImage = ms.ToArray(); imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage); } plBarCode.Controls.Add(imgBarCode); } }
public async Task <byte[]> GenerarQr(string texto, string colorOscuro, string colorClaro) { return(await Task.Factory.StartNew(() => { QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrData = qrGenerator.CreateQrCode( texto, QRCodeGenerator.ECCLevel.M ); QRCode qrCode = new QRCode(qrData); Bitmap bitmap = qrCode.GetGraphic( pixeles_por_punto, DecodificarColor(colorOscuro), DecodificarColor(colorClaro), true ); using (var ms = new MemoryStream()) { bitmap.Save(ms, ImageFormat.Png); return ms.ToArray(); } })); }
public ActionResult EventQR(int?id) { if (id == null) { return(new StatusCodeResult((int)HttpStatusCode.BadRequest)); } using (MemoryStream ms = new MemoryStream()) { QRCodeGenerator qrGenerator = new QRCodeGenerator(); string url = urlGenerator.generateURL(id.Value, db); ViewBag.FeedbackURL = url; QRCodeData qrCodeData = qrGenerator.CreateQrCode(url, QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); using (Bitmap bitMap = qrCode.GetGraphic(20)) { bitMap.Save(ms, ImageFormat.Png); ViewBag.QRCodeImage = "data:image/png;base64," + Convert.ToBase64String(ms.ToArray()); } } return(View()); }
public static Dictionary <string, object> MakeQR(string content, string imagePath, string imageName, bool show) { string filePath; if (!Directory.Exists(imagePath)) { try { Directory.CreateDirectory(imagePath); filePath = Path.Combine(imagePath, imageName); } catch { throw new Exception("请检查imagePath是否为合法的路径格式!"); } } else { filePath = Path.Combine(imagePath, imageName); QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode(content, QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); System.Drawing.Bitmap qrCodeImage = qrCode.GetGraphic(20); qrCodeImage.Save(filePath); qrCodeImage.Dispose(); if (show) { System.Diagnostics.Process process = new System.Diagnostics.Process(); process.StartInfo.FileName = filePath; process.StartInfo.Arguments = "rundll32.exe C:\\WINDOWS\\system32\\shimgvw.dll,ImageView_Fullscreen"; process.StartInfo.UseShellExecute = true; process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; process.Start(); process.Close(); } } return(new Dictionary <string, object> { { "ImagePath", filePath } }); }
public async Task <string> GetQrCode([NakedBody] string payload) { QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode(payload, QRCodeGenerator.ECCLevel.Q); SvgQRCode qrCodePng = new SvgQRCode(qrCodeData); return(qrCodePng.GetGraphic(new System.Drawing.Size(320, 320))); /* * switch (qrType) * { * case QrType.Png: * PngByteQRCode qrCodePng = new PngByteQRCode(qrCodeData); * return qrCodePng.GetGraphic(20); * case QrType.Svg: * SvgQRCode qrCodeSvg = new SvgQRCode(qrCodeData); * return qrCodeSvg.GetGraphic(20); * default: * throw new NotImplementedException(); * } */ }
public static Bitmap QrLink(TextBox tb_link) { Bitmap qrCodeImage; if (tb_link.TextLength > 0) { Url generator = new Url(tb_link.Text); String payload = generator.ToString(); QRCodeGenerator QR = new QRCodeGenerator(); QRCodeData data = QR.CreateQrCode(payload, QRCodeGenerator.ECCLevel.H); QRCode qrCode = new QRCode(data); qrCodeImage = qrCode.GetGraphic(50); return(qrCodeImage); } else { MessageBox.Show("Write or Paste an Link."); qrCodeImage = null; return(qrCodeImage); } }
protected void btnGenerate_Click(object sender, EventArgs e) { string code = this.txtCode.Text; QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeGenerator.QRCode qrCode = qrGenerator.CreateQrCode(code, QRCodeGenerator.ECCLevel.Q); System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image(); imgBarCode.Height = 150; imgBarCode.Width = 150; using (Bitmap bitMap = qrCode.GetGraphic(20)) { using (MemoryStream ms = new MemoryStream()) { bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png); byte[] byteImage = ms.ToArray(); imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage); imgUrl = imgBarCode.ImageUrl; } plBarCode.Controls.Add(imgBarCode); Image1.ImageUrl = imgUrl; Image1.Visible = true; } }
private void btnGenerate_Click(object sender, RoutedEventArgs e) { var t = TicketController.getInstance().createTicket(); TicketController.getInstance().add(t); var ticket = TicketController.getInstance().getAll(); QRCodeGenerator qrCodeGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrCodeGenerator.CreateQrCode(ticket.LastOrDefault().Id.ToString(), QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); Bitmap qrCodeImage = qrCode.GetGraphic(random(50, 150)); image.Source = BitmapToImageSource(qrCodeImage); MessageBox.Show("Success generate ticket!"); load(); }
// GET: Tables public async Task <IActionResult> Index() { if (User.Identity.IsAuthenticated == false) { return(RedirectToAction("Login", "Identity")); } using (MemoryStream ms = new MemoryStream()) { QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode("TEXT", QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); using (Bitmap bitMap = qrCode.GetGraphic(20)) { bitMap.Save(ms, ImageFormat.Png); var image = "data:image/png;base64," + Convert.ToBase64String(ms.ToArray()); ViewBag.Code = image; } } return(View(await _context.Tables.ToListAsync())); }
public async Task <string> GetImage(string codeUrl) { using (var generator = new QRCodeGenerator()) { using (var codeData = generator.CreateQrCode(codeUrl, QRCodeGenerator.ECCLevel.M, true)) { using (var qrcode = new QRCode(codeData)) { var icon = await GetIcon(); using (var bitmap = qrcode.GetGraphic(4, Color.Black, Color.White, icon, 15, 2, false)) { using (var ms = new MemoryStream()) { bitmap.Save(ms, ImageFormat.Jpeg); return("data:image/jpeg;base64," + Convert.ToBase64String(ms.GetBuffer())); } } } } } }
public void SetAuthentication(WebSocketServer webSocketServer) { var password = HasToken() ? LoadToken() : CreateToken(); var connectionPayload = new ConnectionPayload(webSocketServer.IsSecure ? "wss" : "ws", IpUtils.GetLocalIpAddress(), webSocketServer.Port, "user", password); QRCodeGenerator qrGenerator = new QRCodeGenerator(); var qrCodeData = qrGenerator.CreateQrCode(JsonConvert.SerializeObject(connectionPayload), QRCodeGenerator.ECCLevel.Q); connectionQRCode = new PngByteQRCode(qrCodeData); webSocketServer.AuthenticationSchemes = WebSocketSharp.Net.AuthenticationSchemes.Basic; webSocketServer.UserCredentialsFinder = (id) => { #if LOCAL return(new WebSocketSharp.Net.NetworkCredential("username", "password")); #else return(id.Name == connectionPayload.AuthenticationUsername ? new WebSocketSharp.Net.NetworkCredential(connectionPayload.AuthenticationUsername, connectionPayload.AuthenticationPassword) : null); #endif }; }
private void RenderQrCode() { string level = comboBoxECC.SelectedItem.ToString(); QRCodeGenerator.ECCLevel eccLevel = (QRCodeGenerator.ECCLevel)(level == "L" ? 0 : level == "M" ? 1 : level == "Q" ? 2 : 3); using (QRCodeGenerator qrGenerator = new QRCodeGenerator()) { using (QRCodeData qrCodeData = qrGenerator.CreateQrCode(textBoxQRCode.Text, eccLevel)) { using (QRCode qrCode = new QRCode(qrCodeData)) { qrImage = qrCode.GetGraphic(20, Color.Black, Color.White, GetIconBitmap(), (int)iconSize.Value); pictureBoxQRCode.BackgroundImage = qrImage; this.pictureBoxQRCode.Size = new System.Drawing.Size(pictureBoxQRCode.Width, pictureBoxQRCode.Height); //Set the SizeMode to center the image. this.pictureBoxQRCode.SizeMode = PictureBoxSizeMode.CenterImage; pictureBoxQRCode.SizeMode = PictureBoxSizeMode.StretchImage; } } } text = ""; string tempText = textBoxQRCode.Text; int counter = 0; foreach (char character in tempText) { text += character; counter++; if (counter == 20) { text += Environment.NewLine; counter = 0; } } labelText.Text = text; }
private static void LitwoOjczyzno1do40() { QRCodeGenerator qrGenerator = new QRCodeGenerator(); int version = 1; for (int i = 1; i < 2955; i++) { int verCalc = 0; try { verCalc = QRCodeGenerator.GetVersion(i, EncodingMode.Byte, ECCLevel.L); } catch (Exception) { verCalc = 41; } if (version < verCalc) { QRCodeData qrCodeData = qrGenerator.CreateQrCode( Litwo.Substring(0, i - 1), QRCodeGenerator.ECCLevel.L, requestedVersion: version);; QRCode qrc = new QRCode(qrCodeData); int px = 370 / (21 + (4 * version)); Console.WriteLine(version + " , " + (i - 1)); var b = qrc.GetGraphic(px, new ColorProviders.ColorProviderBW()); b.Save(String.Format("litwo{0:00}.png", version)); version++; } } }
private static void DataWordAnim() { QRCodeGenerator qrGenerator = new QRCodeGenerator(); int frame = 240; while (true) { QRCodeData qrCodeData = qrGenerator.CreateQrCode( "👨🏭", QRCodeGenerator.ECCLevel.H, true, //requestedVersion: 2, forcedpattern: -1, maxBits: frame, doMasking: true ); QRCode qrc = new QRCode(qrCodeData); var b = qrc.GetGraphic( 20, //new ColorProviders.ColorProviderRysowankiAnim() //new ColorProviderBW() new ColorProviders.ColorProviderDebug2() , drawQuietZones: true ); b.Save(String.Format("anim_x{0:000}.png", frame)); if (frame++ > 240) //if (frame++ > qrCodeData.DataWordsLen) { Console.WriteLine(frame); break; } } }
public static void QRGenerator(string MandateID, string EntityId, string AppId, string Ref1) { // CommonManger CommonManger = new CommonManger(); string code = MandateID + "_" + Ref1; QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeGenerator.QRCode qrCode = qrGenerator.CreateQrCode(code, QRCodeGenerator.ECCLevel.H); System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image(); imgBarCode.Height = 250; imgBarCode.Width = 250; using (Bitmap bitMap = qrCode.GetGraphic(20)) { using (MemoryStream ms = new MemoryStream()) { bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png); byte[] byteImage = ms.ToArray(); imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage); string result = Convert.ToBase64String(byteImage, 0, byteImage.Length); string check = CreateImage(result.ToString(), MandateID, AppId); if (check != "") { // DataSet ds = CommonManger.FillDatasetWithParam("Sp_Mandate", "@QueryType", "@EntityId", "@MandateId", "@QRCodeImagepath", "QRCodeImagepath", EntityId, MandateID, check); SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings[Convert.ToString(AppId)].ConnectionString); string query = "Sp_Mandate"; SqlCommand cmd = new SqlCommand(query, con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@QueryType", "QRCodeImagepath"); cmd.Parameters.AddWithValue("@EntityId", EntityId); cmd.Parameters.AddWithValue("@MandateId", MandateID); cmd.Parameters.AddWithValue("@QRCodeImagepath", check); SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); } } //plQRCode.Controls.Add(imgBarCode); } }
/// <summary> /// 创建二维码返回文件路径名称 /// </summary> /// <param name="plainText">二维码内容</param> public static string CreateQRCodeToFile(string plainText) { try { string fileName = ""; if (String.IsNullOrEmpty(plainText)) { return(""); } //二维码文件目录 string filePath = System.Web.HttpContext.Current.Server.MapPath("~/") + "QRCoder\\"; if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string name = DateTime.Now.ToString("yyyyMMddHHmmss") + new Random().Next(100, 1000) + ".jpeg"; //创建二维码文件路径名称 fileName = filePath + name; QRCodeGenerator qrGenerator = new QRCodeGenerator(); //QRCodeGenerator.ECCLevel:纠错能力,Q级:约可纠错25%的数据码字 QRCodeData qrCodeData = qrGenerator.CreateQrCode(plainText, QRCodeGenerator.ECCLevel.Q); QRCode qrcode = new QRCode(qrCodeData); Bitmap qrCodeImage = qrcode.GetGraphic(15); qrCodeImage.Save(fileName, ImageFormat.Jpeg); //生成 http绝对路径 string relativeUrl = ConfigurationManager.AppSettings["ImageQRCode"].ToString(); string httpPath = relativeUrl + name; return(httpPath); } catch (Exception ex) { throw new Exception("创建二维码返回文件路径名称方法异常", ex); } }
/// <summary> /// Generate a QR Barcode with the server information /// </summary> private void GenerateBarcode(User auth) { try { ServerDescription desc = new ServerDescription(); desc.HardwareAddresses = String.Join(";", GetHardwareAddresses()); desc.Addresses = String.Join(";", GetIPAddresses()); desc.Name = GetServiceName(); desc.QRVersion = 1; desc.Services = new List <ServiceDescription>(); foreach (var srv in Installation.GetInstalledServices()) { var srvdesc = new ServiceDescription() { Name = srv.ServiceName.ToString(), Port = srv.Port }; if (auth != null) { string usernameOut, passwordOut; srv.GetUsernameAndPassword(auth, out usernameOut, out passwordOut); srvdesc.User = usernameOut; srvdesc.Password = passwordOut; } desc.Services.Add(srvdesc); } Bitmap bm = QRCodeGenerator.Generate(desc.ToJSON()); imgQRCode.Source = bm.ToWpfBitmap(); } catch (Exception ex) { Log.Error("Error generating barcode", ex); } }
private async Task GnerateQrCode() { PicBoxQRCode.SuspendLayout(); Image qrCodeImg = null; await Task.Run(() => { var qrCodeGenerator = new QRCodeGenerator(); string enValue = _activeSettings.QR_CodeLevel.ToString(); var ecc = (QRCodeGenerator.ECCLevel)Enum.Parse(typeof(QRCodeGenerator.ECCLevel), enValue); string encoderContent = CreateWifimetadataFormatString(txtSSId.Text, rdWPA.Checked, txtGeneratedPassword.Text, rdSSIDVisibleFalse.Checked); var qrCode = qrCodeGenerator.CreateQrCode(encoderContent, ecc); int moduleCount = qrCode.ModuleMatrix.Count; int optimalPixelsPerMatrixModule = moduleCount; if (_qrOutputSize == null) { _qrOutputSize = new Size(_activeSettings.ImageWidth, _activeSettings.ImageWidth); } else if (_qrOutputSize.Width < _activeSettings.ImageWidth || _qrOutputSize.Height < _activeSettings.ImageWidth) { _qrOutputSize = new Size(_activeSettings.ImageWidth, _activeSettings.ImageWidth); } double pixelsDelta = _qrOutputSize.Width; optimalPixelsPerMatrixModule = Convert.ToInt32(Math.Ceiling(pixelsDelta / Convert.ToDouble(moduleCount))); qrCodeImg = qrCode.CreateBitmap(optimalPixelsPerMatrixModule); }); PicBoxQRCode.Image = qrCodeImg; PicBoxQRCode.ResumeLayout(); PicBoxQRCode.Refresh(); PicBoxQRCode.BorderStyle = BorderStyle.FixedSingle; PicBoxQRCode.SizeMode = PictureBoxSizeMode.Zoom; }
protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString.Count > 0) { string title = Request.QueryString["title"] ?? ""; string sn = Request.QueryString["sn"] ?? ""; string pId = Request.QueryString["pId"] ?? ""; string lId = Request.QueryString["lId"] ?? ""; if (pId.Length > 0) { Page.Title = title; Page.MetaDescription = title; promotionImage.ImageUrl = "FileServer/EddystonePromotion/" + pId + ".png"; } if (pId.Length > 0 && lId.Length > 0) { QRCodeGenerator qrGenerator = new QRCodeGenerator(); var text = lId + "-" + pId + "-" + Guid.NewGuid().ToString().Replace("-", ""); QRCodeData qrCodeData = qrGenerator.CreateQrCode(text, QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); Bitmap qrCodeImage = qrCode.GetGraphic(20); System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image(); imgBarCode.Height = 180; imgBarCode.Width = 180; imgBarCode.CssClass = "image2"; using (Bitmap bitMap = qrCode.GetGraphic(20)) { using (MemoryStream ms = new MemoryStream()) { bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png); byte[] byteImage = ms.ToArray(); imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage); } plBarCode.Controls.Add(imgBarCode); } } } }
protected void Page_Load(object sender, EventArgs e) { if (Session["tourist_id"] == null && Session["tourguide_id"] == null) { Response.Redirect("Login.aspx"); } else { try { Label1.Text = Session["tourist_id"].ToString(); } catch (NullReferenceException) { Label1.Text = Session["tourguide_id"].ToString(); } } string ticketCode = Request.QueryString["Code"]; string code = "touristhelp20200208080154.azurewebsites.net/TicketClaim.aspx?Code=" + ticketCode; QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeGenerator.QRCode qrCode = qrGenerator.CreateQrCode(code, QRCodeGenerator.ECCLevel.Q); System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image(); imgBarCode.Height = 150; imgBarCode.Width = 150; using (Bitmap bitMap = qrCode.GetGraphic(20)) { using (MemoryStream ms = new MemoryStream()) { bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png); byte[] byteImage = ms.ToArray(); imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage); } PlaceHolder1.Controls.Add(imgBarCode); } }
private void CreateBody(int participantId, Camp regCamp, RegistrationType regType) { pageBody = "<p><b>" + txtCharacterName.Text + "</b>,</p>"; pageBody += "<p>Thank you for registering to attend <b>Ragnarok XXXIV</b>"; if (regType.IsMerchant) { pageBody += " as a merchant"; } pageBody += "!</p>"; if (regCamp.Id != 0) { pageBody += "<p>You are marked down as an attendee staying in <b>" + regCamp.CampName + "</b>. If your camp changes, please contact "; pageBody += "<a href=\"mailto:[email protected]\">[email protected]</a> to change your camp, or you can change it "; pageBody += "when you arrive at Ragnarok.</p>"; } else { pageBody += "<p>You are marked down as not having a camp selected yet. If you choose a camp, please contact "; pageBody += "<a href=\"mailto:[email protected]\">[email protected]</a> to select your camp, or you can select your "; pageBody += "camp when you arrive at Ragnarok.</p>"; } pageBody += "<p>Your selected arrival date is <b>" + regType.ArrivalDate.ToString("MM/dd/yyyy") + "</b>.</p>"; QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode("http://dagorhirragnarok.com/CheckIn.aspx?pid=" + participantId, QRCodeGenerator.ECCLevel.Q); BitmapByteQRCode qrCode = new BitmapByteQRCode(qrCodeData); qrCodeBytes = qrCode.GetGraphic(20); string imgSource = "data:image/png;base64," + Convert.ToBase64String(qrCodeBytes, Base64FormattingOptions.None); pageBody += "<p>For expedited check-in at Troll when you arrive at Ragnarok, please present this QR Code to the Troll staff:</p>"; pageBody += "<center><p><img style=\"height: 300px; width: 300px;\" src=\"" + imgSource + "\" /></p></center>"; pageBody += "<p>We look forward to seeing you at Ragnarok!</p>"; pageBody += "<p>----------------------------------------------<br />Troll</p>"; }
public void OnShowQRCode(object sender, DynamicMenuEventArgs e) { var key = e.Tag as string; if (key == null) { return; } var pe = host.MainWindow.GetSelectedEntry(true); if (pe == null) { return; } var context = new SprContext(pe, host.Database, SprCompileFlags.All); var value = SprEngine.Compile(pe.Strings.GetSafe(key).ReadString(), context); try { var data = new QRCodeGenerator().CreateQrCode(value, QRCodeGenerator.ECCLevel.L); if (data != null) { var form = new ShowQRCodeForm( host, data.GetBitmap(10, Color.Black, Color.White), SprEngine.Compile(pe.Strings.GetSafe(PwDefs.TitleField).ReadString(), context), TryTranslateKey(key) ); form.ShowDialog(); } } catch { MessageBox.Show("The data can't be displayed as a QR Code."); } }
public IActionResult Post(string postId) { var instanceMain = _repos.GetSingleDataById(postId); var instanceSend = new PostViewModel() { ID = instanceMain.ID, ContentHtml = instanceMain.ContentHtml, ContentInBrief = instanceMain.ContentInBrief, Title = instanceMain.Title, PostPictureName = instanceMain.PostPictureName, LastModifiedDateAndTime = instanceMain.LastModifiedDateAndTime }; instanceSend.Barcode = GetPostBrcode(); return(View(instanceSend)); Byte[] GetPostBrcode() { QRCodeGenerator qrGenerator = new QRCodeGenerator(); ViewData["Url"] = Microsoft.AspNetCore.Http.Extensions.UriHelper.GetDisplayUrl(Request); QRCodeData qrCodeData = qrGenerator.CreateQrCode(ViewData["Url"].ToString(), QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); Bitmap qrCodeImage = qrCode.GetGraphic(20); return(GetImageBytesByBitmap(qrCodeImage)); Byte[] GetImageBytesByBitmap(Bitmap img) { using (MemoryStream stream = new MemoryStream()) { img.Save(stream, System.Drawing.Imaging.ImageFormat.Png); return(stream.ToArray()); } } } }
public ContactDetail(Person paPerson, string paDepartment, string paRoom) { InitializeComponent(); LFirstName.Content = paPerson.FirstName; LLastName.Content = paPerson.LastName; LPhone.Content = paPerson.Phone; LEmail.Content = paPerson.Email; LDepartment.Content = paDepartment; LRoom.Content = paRoom; PayloadGenerator.ContactData generator = new PayloadGenerator.ContactData(PayloadGenerator.ContactData.ContactOutputType.VCard3, paPerson.FirstName, paPerson.LastName, null, paPerson.Phone, null, null, paPerson.Email); string payload = generator.ToString(); QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode(payload, QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); var qrCodeAsBitmap = qrCode.GetGraphic(20); using (var memory = new MemoryStream()) { qrCodeAsBitmap.Save(memory, ImageFormat.Png); memory.Position = 0; var bitmapImage = new BitmapImage(); bitmapImage.BeginInit(); bitmapImage.StreamSource = memory; bitmapImage.CacheOption = BitmapCacheOption.OnLoad; bitmapImage.EndInit(); bitmapImage.Freeze(); ImageQR.Source = bitmapImage; } ImageQR.Stretch = Stretch.Uniform; //ImageQR.Source = retval; }
public static async Task <HtmlBackup> FromAuthenticatorList(Context context, List <Authenticator> authenticators) { var template = await GetTemplate(context); var itemsHtml = new StringBuilder(); var generator = new QRCodeGenerator(); async Task <string> GetQrCodeDataAsync(string url) { return(await Task.Run(() => { var qrCodeData = generator.CreateQrCode(url, QRCodeGenerator.ECCLevel.Q); var qrCode = new PngByteQRCode(qrCodeData); var bytes = qrCode.GetGraphic(PixelsPerModule); return Convert.ToBase64String(bytes); })); } foreach (var auth in authenticators) { var url = auth.GetOtpAuthUrl(); var qrCode = await GetQrCodeDataAsync(url); itemsHtml.Append($@" <tr> <td>{auth.Issuer}</td> <td>{auth.Username}</td> <td><code>{url}</code></td> <td><img src=""data:image/png;base64,{qrCode}""></td> </tr> "); } var contents = template.Replace("%ITEMS", itemsHtml.ToString()); return(new HtmlBackup(contents)); }
private static void Generate(int i, AsymmetricKeyParameter privKey, AsymmetricKeyParameter pubKey) { (var voucherOtc, var voucherPassword) = GenerateVouchers(privKey, pubKey); var qrGenerator = new QRCodeGenerator(); using (var outDoc = new PdfDocument()) { outDoc.Info.Title = "WOM vouchers"; var outPage = outDoc.AddPage(); using (var gfx = XGraphics.FromPdfPage(outPage)) { var xfont = new XFont("Open Sans", 30, XFontStyle.Bold, XPdfFontOptions.UnicodeDefault); gfx.DrawString($"Vouchers {i}", xfont, XBrushes.Black, new XRect(0, 0, outPage.Width, outPage.Height * 0.1), XStringFormats.Center); gfx.DrawString(voucherPassword, xfont, XBrushes.Black, new XRect(0, outPage.Height * 0.75, outPage.Width, outPage.Height * 0.25), XStringFormats.Center); var payloadGenerator = new PayloadGenerator.Url(string.Format("https://wom.social/vouchers/{0:D}", voucherOtc)); var qrData = qrGenerator.CreateQrCode(payloadGenerator); using (var pngData = new PngByteQRCode(qrData)) { var pngBytes = pngData.GetGraphic(20); using (var pngByteStream = new MemoryStream(pngBytes)) { using (var qrImage = XImage.FromStream(pngByteStream)) { var w = outPage.Width * 0.8; var h = outPage.Height * 0.6; var finalSize = (w <= h) ? w : h; gfx.DrawImage(qrImage, (outPage.Width - finalSize) / 2f, outPage.Height * 0.2, finalSize, finalSize); } } } outDoc.Save($"output-{i}.pdf"); } } }
/// <summary> /// Generate a setup code for a Google Authenticator user to scan /// </summary> /// <param name="issuer">Issuer ID (the name of the system, i.e. 'MyApp'), can be omitted but not recommended https://github.com/google/google-authenticator/wiki/Key-Uri-Format </param> /// <param name="accountTitleNoSpaces">Account Title (no spaces)</param> /// <param name="accountSecretKey">Account Secret Key as byte[]</param> /// <param name="QRPixelsPerModule">Number of pixels per QR Module (2 = ~120x120px QRCode)</param> /// <returns>SetupCode object</returns> public SetupCode GenerateSetupCode(string issuer, string accountTitleNoSpaces, byte[] accountSecretKey, int QRPixelsPerModule, bool generateQrCode = true) { accountTitleNoSpaces = RemoveWhitespace(Uri.EscapeUriString(accountTitleNoSpaces)); string encodedSecretKey = Base32Encoding.ToString(accountSecretKey); string provisionUrl; if (String.IsNullOrWhiteSpace(issuer)) { provisionUrl = String.Format("otpauth://totp/{0}?secret={1}", accountTitleNoSpaces, encodedSecretKey.Trim('=')); } else { // https://github.com/google/google-authenticator/wiki/Conflicting-Accounts // Added additional prefix to account otpauth://totp/Company:[email protected] for backwards compatibility provisionUrl = String.Format("otpauth://totp/{2}:{0}?secret={1}&issuer={2}", accountTitleNoSpaces, encodedSecretKey.Trim('='), UrlEncode(issuer)); } string qrCodeUrl = string.Empty; if (generateQrCode) { using (QRCodeGenerator qrGenerator = new QRCodeGenerator()) using (QRCodeData qrCodeData = qrGenerator.CreateQrCode(provisionUrl, QRCodeGenerator.ECCLevel.Q)) using (QRCode qrCode = new QRCode(qrCodeData)) using (Bitmap qrCodeImage = qrCode.GetGraphic(QRPixelsPerModule)) using (MemoryStream ms = new MemoryStream()) { qrCodeImage.Save(ms, System.Drawing.Imaging.ImageFormat.Png); qrCodeUrl = String.Format("data:image/png;base64,{0}", Convert.ToBase64String(ms.ToArray())); } } return(new SetupCode(accountTitleNoSpaces, encodedSecretKey.Trim('='), qrCodeUrl) { ProvisionUrl = provisionUrl }); }
private static Bitmap CreateQrBitmap(string content) { QRCodeGenerator.ECCLevel eccLevel = QRCodeGenerator.ECCLevel.Q; QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode(content, eccLevel); QRCode qrCode = new QRCode(qrCodeData); Bitmap bitmap = qrCode.GetGraphic(20); return bitmap; }
private static void GenerateQRCode(string payloadString, QRCodeGenerator.ECCLevel eccLevel, string outputFileName, ImageFormat imgFormat) { using (var generator = new QRCodeGenerator()) { using (var data = generator.CreateQrCode(payloadString, eccLevel)) { using (var code = new QRCode(data)) { using (var bitmap = code.GetGraphic(20)) { bitmap.Save(outputFileName, imgFormat); } } } } }
static void Main(string[] args) { if (args.Length == 0) { Console.WriteLine("No source file location parameter provided."); } else { try { string sourceFile = args[0]; Console.WriteLine("Source file: " + args[0]); TextFieldParser parser = new TextFieldParser(sourceFile); parser.HasFieldsEnclosedInQuotes = true; parser.SetDelimiters(","); // Get headers string[] headerArray = parser.ReadFields(); // Get contents List<string[]> rowList = new List<string[]>(); while (!parser.EndOfData) { rowList.Add(parser.ReadFields()); } Parallel.ForEach(rowList, (row) => { try { string line = ""; for (int i = 0; i < row.Length; i++) { line += String.Format("{0}: {1}\n", headerArray[i], row[i]).ToUpper(); } Console.Write(line); // Create identifier string identifier = String.Format("{0}, {1} {2}", row[2], row[0], row[1]).ToUpper().Replace("N/A", String.Empty); // Generate qr code image QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode(line, QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); Bitmap qrCodeImage = qrCode.GetGraphic(20); Directory.CreateDirectory("output"); // Save image to file qrCodeImage.Save(String.Format("output\\{0}.jpg", identifier)); } catch (Exception ex) { Console.WriteLine(ex.Message); } }); } catch (Exception ex) { Console.WriteLine(ex.Message); } } Console.Write("Press any key to continue..."); Console.ReadKey(); }
private void renderQRCode() { string level = comboBox1.SelectedItem.ToString(); QRCodeGenerator.ECCLevel eccLevel = (QRCodeGenerator.ECCLevel)(level == "L" ? 0 : level == "M" ? 1 : level == "Q" ? 2 : 3); QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode(textBoxQRCode.Text, eccLevel); QRCode qrCode = new QRCode(qrCodeData); pictureBoxQRCode.BackgroundImage = qrCode.GetGraphic(20, Color.Black, Color.White, getIconBitmap()); //Image card = qrCode.GetGraphic(20, Color.Black, Color.White, getIconBitmap()); //using (FileStream fs = new FileStream(@"D:\图片\58.png", FileMode.OpenOrCreate, FileAccess.Write)) //{ // card.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg); // fs.Close(); //} }
private void MontaPagina(Document document, TNFe nfe, TProtNFe protocolo, string cscId, string cscToken, bool mostrarDetalhesVenda, string via = "") { var page = document.AddSection(); // 2.3.1 Divisão I - Informações do Cabeçalho var table = page.AddTable(); table.Rows.LeftIndent = 0; // Before you can add a row, you must define the columns var column = table.AddColumn("4cm"); column.Format.Alignment = ParagraphAlignment.Center; column = table.AddColumn("6cm"); //column.Format.Alignment = ParagraphAlignment.Left; column = table.AddColumn("6cm"); //column.Format.Alignment = ParagraphAlignment.Left; // Logo NFC-e (opcional) // Logo do Contribuinte (opcional) var row = table.AddRow(); row.Cells[0].MergeDown = 2; var file = @"..\..\..\NFCerta.NFe\Resources\logo.jpg"; var image = row.Cells[0].AddImage(file); image.Height = "1.3cm"; // Razão social do Emitente row.Cells[1].AddParagraph(nfe.infNFe.emit.xNome); // Inscrição Municipal do Emitente (se houver) if (nfe.infNFe.emit.IM.HasValue()) { row.Cells[2].AddParagraph("Inscrição Municipal - " + nfe.infNFe.emit.IM); } row = table.AddRow(); // CNPJ do Emitente row.Cells[1].AddParagraph("CNPJ - " + nfe.infNFe.emit.Item); // Inscrição Estadual do Emitente row.Cells[2].AddParagraph("Inscrição Estadual - " + nfe.infNFe.emit.IE); row = table.AddRow(); // Endereço Completo do Emitente // Endereço Completo (Logradouro, n, bairro, municipio, sigla, uf) row.Cells[1].AddParagraph(nfe.infNFe.emit.enderEmit.xLgr + ", " + nfe.infNFe.emit.enderEmit.nro + ", " + nfe.infNFe.emit.enderEmit.xBairro + ", " + nfe.infNFe.emit.enderEmit.xMun + ", " + nfe.infNFe.emit.enderEmit.UF.ToString()); row.Cells[1].MergeRight = 1; table.SetEdge(0, 0, table.Columns.Count, table.Rows.Count, Edge.Box, BorderStyle.Single, 0.5); // 2.3.2 Divisão II – Informações Fixas do DANFE NFC-e table = page.AddTable(); table.Rows.LeftIndent = 0; column = table.AddColumn("16cm"); column.Format.Alignment = ParagraphAlignment.Center; row = table.AddRow(); row.Cells[0].AddParagraph("DANFE NFC-e - Documento Auxiliar de Nota Fiscal de Consumidor Eletrônica"); row = table.AddRow(); row.Cells[0].AddParagraph("Não permite aproveitamento de crédito de ICMS"); table.SetEdge(0, 0, table.Columns.Count, table.Rows.Count, Edge.Box, BorderStyle.Single, 0.5); // 2.3.3 Divisão III – Informações de Detalhe da Venda if (mostrarDetalhesVenda || nfe.infNFe.ide.tpEmis == TipoEmissaoNFe.ContingenciaOffline) { table = page.AddTable(); table.Rows.LeftIndent = 0; table.AddColumn("2cm"); table.AddColumn("3cm"); table.AddColumn("3cm"); table.AddColumn("2cm"); table.AddColumn("3cm"); table.AddColumn("3cm"); row = table.AddRow(); row.HeadingFormat = true; row.Cells[0].AddParagraph("Código"); row.Cells[1].AddParagraph("Descrição"); row.Cells[2].AddParagraph("Qtde"); row.Cells[3].AddParagraph("Un"); row.Cells[4].AddParagraph("Valor unit."); row.Cells[5].AddParagraph("Valor total"); foreach (var det in nfe.infNFe.det) { row = table.AddRow(); row.Cells[0].AddParagraph(det.prod.cProd); row.Cells[1].AddParagraph(det.prod.xProd); row.Cells[2].AddParagraph(det.prod.qCom); row.Cells[3].AddParagraph(det.prod.uCom); row.Cells[4].AddParagraph(det.prod.vUnCom); row.Cells[5].AddParagraph(det.prod.vProd); } table.SetEdge(0, 0, table.Columns.Count, table.Rows.Count, Edge.Box, BorderStyle.Single, 0.5); } // 2.3.4 Divisão IV – Informações de Total do DANFE NFC-e table = page.AddTable(); table.Rows.LeftIndent = 0; table.AddColumn("8cm"); column = table.AddColumn("8cm"); column.Format.Alignment = ParagraphAlignment.Right; // QTD. TOTAL DE ITENS = somatório da quantidade de itens; var qtdTotal = nfe.infNFe.det.Sum(det => float.Parse(det.prod.qCom)); row = table.AddRow(); row.Cells[0].AddParagraph("QTD. TOTAL DE ITENS"); row.Cells[1].AddParagraph(qtdTotal.ToString("0.####")); // ACRESCIMO row = table.AddRow(); row.Cells[0].AddParagraph("ACRESCIMO"); row.Cells[1].AddParagraph(nfe.infNFe.total.ICMSTot.vOutro); // VALOR TOTAL = somatório dos valores totais dos itens somados os acréscimos e subtraído dos descontos row = table.AddRow(); row.Cells[0].AddParagraph("VALOR TOTAL R$"); row.Cells[1].AddParagraph(nfe.infNFe.total.ICMSTot.vNF); row = table.AddRow(); row.Cells[0].AddParagraph("FORMA DE PAGAMENTO"); // VALOR PAGO = valor pago efetivamente na forma de pagamento identificada imediatamente acima row.Cells[1].AddParagraph("Valor Pago"); // FORMA PAGAMENTO = forma na qual o pagamento da NFC-e foi efetuado (podem ocorrer mais de uma forma de pagamento, devendo neste caso ser indicado o montante parcial do pagamento para a respectiva forma. Exemplo: em dinheiro, em cheque, etc nfe.infNFe.pag.ForEach(pag => { row = table.AddRow(); row.Cells[0].AddParagraph(pag.tPag.ToString()); row.Cells[1].AddParagraph(pag.vPag); }); table.SetEdge(0, 0, table.Columns.Count, table.Rows.Count, Edge.Box, BorderStyle.Single, 0.5); // 2.3.5 Divisão V – Informações dos Tributos no DANFE NFC-e table = page.AddTable(); table.Rows.LeftIndent = 0; table.AddColumn("8cm"); column = table.AddColumn("8cm"); column.Format.Alignment = ParagraphAlignment.Right; row = table.AddRow(); row.Cells[0].AddParagraph("Informação dos TributosTotais Incedentais (Lei Federal 12.741/2012)"); // Soma de todos os tributos incidentes na operação/prestação, contemplando toda a cadeia de fornecimento row.Cells[1].AddParagraph(nfe.infNFe.total.ICMSTot.vTotTrib ?? "0.00"); table.SetEdge(0, 0, table.Columns.Count, table.Rows.Count, Edge.Box, BorderStyle.Single, 0.5); // 2.3.6 Divisão Va – Mensagem de Interesse do Contribuinte table = page.AddTable(); table.Rows.LeftIndent = 0; column = table.AddColumn("16cm"); column.Format.Alignment = ParagraphAlignment.Center; row = table.AddRow(); row.Cells[0].AddParagraph(nfe.infNFe.infAdic.infCpl); table.SetEdge(0, 0, table.Columns.Count, table.Rows.Count, Edge.Box, BorderStyle.Single, 0.5); // 2.3.7 Divisão VI – Mensagem Fiscal e Informações da Consulta via Chave de Acesso table = page.AddTable(); table.Rows.LeftIndent = 0; column = table.AddColumn("16cm"); column.Format.Alignment = ParagraphAlignment.Center; // Área de Mensagem Fiscal. Quando for o caso deve ser incluídas as seguintes mensagens: “EMITIDA EM CONTINGÊNCIA”, “EMITIDA EM AMBIENTE DE HOMOLOGAÇÃO – SEM VALOR FISCAL”) if (nfe.infNFe.ide.tpEmis == TipoEmissaoNFe.ContingenciaOffline) { row = table.AddRow(); row.Cells[0].AddParagraph("EMITIDA EM CONTINGÊNCIA"); } if (nfe.infNFe.ide.tpAmb == AmbienteSefaz.Homologacao) { row = table.AddRow(); row.Cells[0].AddParagraph("EMITIDA EM AMBIENTE DE HOMOLOGAÇÃO – SEM VALOR FISCAL"); } // Número da NFC-e // Série da NFC-e // Data e Hora de Emissão da NFC-e (observação: a data de emissão apesar de constar no arquivo XML da NFC- NFC-e sempre convertida para o horário local) var dataEmissaoLocal = nfe.infNFe.ide.dhEmi.FromSefazTime().InZone(nfe.infNFe.emit.enderEmit.UF).ToString("dd/MM/yyyy HH:mm:ss"); row = table.AddRow(); var text = "Número {0} Série {1} Emissão {2}".F(nfe.infNFe.ide.nNF, nfe.infNFe.ide.serie, dataEmissaoLocal); row.Cells[0].AddParagraph(text + via); row = table.AddRow(); // O texto “Consulte pela Chave de Acesso em” seguido do endereço eletrônico para consulta pública da NFC-e no Portal da Secretaria da Fazenda do Estado do contribuinte row.Cells[0].AddParagraph("Consulte pela Chave de Acesso em " + ListaUrl.BuscaUrls(nfe.infNFe.ide.cUF, nfe.infNFe.ide.tpAmb).UrlNfceConsultaChaveAcesso); row = table.AddRow(); // O texto “CHAVE DE ACESSO”, em caixa alta row.Cells[0].AddParagraph("CHAVE DE ACESSO"); row = table.AddRow(); // A chave de acesso impressa em 11 blocos de quatro dígitos, com um espaço entre cada bloco row.Cells[0].AddParagraph(protocolo.infProt.chNFe.SplitChunks(4).JoinString(" ")); table.SetEdge(0, 0, table.Columns.Count, table.Rows.Count, Edge.Box, BorderStyle.Single, 0.5); // 2.3.8 Divisão VII – Informações sobre o Consumidor table = page.AddTable(); table.Rows.LeftIndent = 0; column = table.AddColumn("16cm"); column.Format.Alignment = ParagraphAlignment.Center; row = table.AddRow(); row.Cells[0].AddParagraph("CONSUMIDOR"); if (nfe.infNFe.dest != null) { var doc = ""; if (nfe.infNFe.dest.TipoDocumento == TipoDocumento.CNPJ) { doc = "CNPJ: "; } if (nfe.infNFe.dest.TipoDocumento == TipoDocumento.CNPJ) { doc = "CPF: "; } if (nfe.infNFe.dest.TipoDocumento == TipoDocumento.CNPJ) { doc = "Id. Estrangeiro: "; } doc += nfe.infNFe.dest.Item; // Nome opcional row = table.AddRow(); row.Cells[0].AddParagraph(doc + " " + nfe.infNFe.dest.xNome); row = table.AddRow(); // Endereco opcional row.Cells[0].AddParagraph(nfe.infNFe.emit.enderEmit.xLgr + ", " + nfe.infNFe.emit.enderEmit.nro + ", " + nfe.infNFe.emit.enderEmit.xBairro + ", " + nfe.infNFe.emit.enderEmit.xMun); } else { // Na hipótese do não preenchimento das informações de identificação do consumidor na NFCe, deverá ser impressa na área reservada apenas a mensagem “CONSUMIDOR NÃO IDENTIFICADO”. row = table.AddRow(); row.Cells[0].AddParagraph("CONSUMIDOR NÃO IDENTIFICADO"); } table.SetEdge(0, 0, table.Columns.Count, table.Rows.Count, Edge.Box, BorderStyle.Single, 0.5); // 2.3.9 Divisão VIII – Informações da Consulta via QR Code table = page.AddTable(); table.Rows.LeftIndent = 0; column = table.AddColumn("16cm"); column.Format.Alignment = ParagraphAlignment.Center; row = table.AddRow(); // O texto “Consulta via leitor de QR Code” row.Cells[0].AddParagraph("Consulta via leitor de QR Code"); table.SetEdge(0, 0, table.Columns.Count, table.Rows.Count, Edge.Box, BorderStyle.Single, 0.5); // A imagem do QR Code em tamanho mínimo 25 mm x 25 mm var url = nfe.GeraQrCode(cscId, cscToken); // "http://www4.fazenda.rj.gov.br/consultaNFCe/QRCode?chNFe=99999999999999999999999999999999999999999999&nVersao=&tpAmp=2&cDest=&dhEmi=323031342D31322D32365430313A31383A33342D30323A3030&vNF=8904.50&vICMS=0.00&digVal=370032007100510061002B0062003000740061006F0051004F003900660041004A007700660064006C005800750071005100760038003D00&cIdToken=cscId&cHashQRCode=1975033D50D8B701C99A2E201E8ED85A75B0D4F4" var qrGenerator = new QRCodeGenerator(); var bitmap = qrGenerator.CreateQrCode(url, QRCodeGenerator.ECCLevel.L).GetGraphic(1); var qrFile = new DisposableFile(); Disposables.Add(qrFile); bitmap.Save(qrFile.Path); table = page.AddTable(); table.Rows.LeftIndent = 0; column = table.AddColumn("65mm"); column = table.AddColumn("30mm"); column = table.AddColumn("65mm"); row = table.AddRow(); image = row.Cells[1].AddImage(qrFile.Path); image.Height = "30mm"; table.SetEdge(0, 0, table.Columns.Count, table.Rows.Count, Edge.Box, BorderStyle.Single, 0.5); // No caso de emissão em contingência a informação sobre o protocolo de autorização será suprimida if (nfe.infNFe.ide.tpEmis != TipoEmissaoNFe.ContingenciaOffline) { table = page.AddTable(); table.Rows.LeftIndent = 0; column = table.AddColumn("16cm"); column.Format.Alignment = ParagraphAlignment.Center; row = table.AddRow(); // O texto “Protocolo de autorização:” com o número do protocolo de autorização obtido para NFC-e e a data e hora da autorização. row.Cells[0].AddParagraph("Protocolo de Autorização: " + protocolo.infProt.nProt + " " + protocolo.infProt.dhRecbto.FromSefazTime().ToString("dd/MM/yyyy HH:mm:ss")); table.SetEdge(0, 0, table.Columns.Count, table.Rows.Count, Edge.Box, BorderStyle.Single, 0.5); } }
private void RenderQrCode() { string level = comboBoxECC.SelectedItem.ToString(); QRCodeGenerator.ECCLevel eccLevel = (QRCodeGenerator.ECCLevel)(level == "L" ? 0 : level == "M" ? 1 : level == "Q" ? 2 : 3); using (QRCodeGenerator qrGenerator = new QRCodeGenerator()) { using (QRCodeData qrCodeData = qrGenerator.CreateQrCode(textBoxQRCode.Text, eccLevel)) { using (QRCode qrCode = new QRCode(qrCodeData)) { pictureBoxQRCode.BackgroundImage = qrCode.GetGraphic(20, Color.Black, Color.White, GetIconBitmap(), (int) iconSize.Value); this.pictureBoxQRCode.Size = new System.Drawing.Size(pictureBoxQRCode.Width, pictureBoxQRCode.Height); //Set the SizeMode to center the image. this.pictureBoxQRCode.SizeMode = PictureBoxSizeMode.CenterImage; pictureBoxQRCode.SizeMode = PictureBoxSizeMode.StretchImage; } } } }
private void LoadValues() { DataTable dt = new DataTable(); dt = (DataTable)Session["dt"]; username.Text = dt.Rows[0]["Username"].ToString(); code = dt.Rows[0]["Random_No"].ToString(); Session["code"] = code; QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeGenerator.QRCode qrCode = qrGenerator.CreateQrCode(code, QRCodeGenerator.ECCLevel.H); System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image(); imgBarCode.Height = 150; imgBarCode.Width = 150; using (Bitmap bitMap = qrCode.GetGraphic(20)) { using (MemoryStream ms = new MemoryStream()) { bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png); byte[] byteImage = ms.ToArray(); imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage); } plBarCode.Controls.Add(imgBarCode); } }