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 { /// /// 二维码生成工具 /// public class QRcodeHelper { /// /// 生成二维码 /// /// /// 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); } /// /// 生成条形码 /// public void GenerateBarcode() { } } }