| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- using SharpCompress.Common;
- using Spire.Barcode;
- using Spire.Pdf;
- using Spire.Pdf.Graphics;
- using System;
- using System.Collections.Generic;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using static System.Formats.Asn1.AsnWriter;
- namespace Business.Core.Utilities
- {
- /// <summary>
- /// 二维码生成工具
- /// </summary>
- public class QRcodeHelper
- {
- /// <summary>
- /// 生成二维码
- /// </summary>
- /// <param name="filePath"></param>
- /// <param name="context"></param>
- public void GenerateQrCode(string filePath, string context)
- {
- PdfDocument pdf = new PdfDocument();
- //读取文件
- pdf.LoadFromFile(filePath);
- PdfPageBase pb = pdf.Pages.Add();
- pdf.Pages.Remove(pb);
- //使用Spire.Barcode的BarcodeSettings和BarcodeGenerator类创建二维码图形
- Spire.Barcode.BarcodeSettings settings = new BarcodeSettings();
- settings.Type = BarCodeType.QRCode;
- settings.Data = context;
- settings.X = 0.7f;
- settings.LeftMargin = 0;
- settings.ShowText = false;
- settings.AutoResize=true;
- settings.ShowCheckSumChar = false;
- settings.QRCodeECL = QRCodeECL.Q;
- settings.QRCodeDataMode = QRCodeDataMode.Numeric;
- Spire.Barcode.BarCodeGenerator generator = new BarCodeGenerator(settings);
- Image image = generator.GenerateImage(new Size(20,20));
- //绘制二维码图形到PDF
- PdfImage pdfImage = PdfImage.FromImage(image);
- for (int i = 0; i < pdf.Pages.Count; i++)
- {
- var page = pdf.Pages[i];
- page.Canvas.DrawImage(pdfImage, page.Size.Width - pdfImage.Width + 9, 0);
- }
- //保存文档
- pdf.SaveToFile(filePath);
- }
- /// <summary>
- /// 生成条形码
- /// </summary>
- public void GenerateBarcode()
- {
-
- }
- }
- }
|