QRcodeHelper.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. using SharpCompress.Common;
  2. using Spire.Barcode;
  3. using Spire.Pdf;
  4. using Spire.Pdf.Graphics;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Drawing;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using static System.Formats.Asn1.AsnWriter;
  12. namespace Business.Core.Utilities
  13. {
  14. /// <summary>
  15. /// 二维码生成工具
  16. /// </summary>
  17. public class QRcodeHelper
  18. {
  19. /// <summary>
  20. /// 生成二维码
  21. /// </summary>
  22. /// <param name="filePath"></param>
  23. /// <param name="context"></param>
  24. //public void GenerateQrCode(string filePath, string context)
  25. public void GenerateQrCode()
  26. {
  27. string filePath = @"D:\test\销售出库单.pdf";
  28. string savePath = @"D:\test\测试111.pdf";
  29. string context = "AXSCK230201473";
  30. PdfDocument pdf = new PdfDocument();
  31. //读取文件
  32. pdf.LoadFromFile(filePath);
  33. PdfPageBase pb = pdf.Pages.Add();
  34. pdf.Pages.Remove(pb);
  35. //使用Spire.Barcode的BarcodeSettings和BarcodeGenerator类创建二维码图形
  36. Spire.Barcode.BarcodeSettings settings = new BarcodeSettings();
  37. settings.Type = BarCodeType.QRCode;
  38. settings.Data = context;
  39. settings.X = 0.7f;
  40. settings.LeftMargin = 0;
  41. settings.ShowText = false;
  42. settings.AutoResize=true;
  43. settings.ShowCheckSumChar = false;
  44. settings.QRCodeECL = QRCodeECL.Q;
  45. settings.QRCodeDataMode = QRCodeDataMode.Numeric;
  46. Spire.Barcode.BarCodeGenerator generator = new BarCodeGenerator(settings);
  47. Image image = generator.GenerateImage(new Size(20,20));
  48. //绘制二维码图形到PDF
  49. PdfImage pdfImage = PdfImage.FromImage(image);
  50. for (int i = 0; i < pdf.Pages.Count; i++)
  51. {
  52. var page = pdf.Pages[i];
  53. page.Canvas.DrawImage(pdfImage, page.Size.Width - pdfImage.Width + 9, 0);
  54. }
  55. //保存文档
  56. pdf.SaveToFile(savePath);
  57. }
  58. /// <summary>
  59. /// 生成条形码
  60. /// </summary>
  61. public void GenerateBarcode()
  62. {
  63. }
  64. }
  65. }