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()
{
}
}
}