tạo mã vạch bằng C#

tạo mã vạch bằng C#

Mã vạch chứa thông tin dưới dạng thanh và mang lại hiệu quả cũng như sự mạnh mẽ trong việc quản lý hàng hóa trong kho. Doanh nghiệp sắp xếp hàng tồn kho bằng cách gắn mã vạch cho các mặt hàng lưu trữ thông tin sản phẩm. Tuy nhiên, việc tự động hóa quy trình tạo mã vạch bằng trình tạo mã vạch API mang lại lợi thế cạnh tranh cho ứng dụng kinh doanh của bạn. Trong bài đăng trên blog này, chúng ta sẽ tìm hiểu cách tạo mã vạch bằng C# theo chương trình.

Các chủ đề sau đây sẽ được đề cập trong bài viết này:

Cài đặt API trình tạo mã vạch

Quá trình cài đặt thư viện này khá dễ dàng. Bạn có thể tải xuống tệp DLL hoặc chạy các lệnh sau trong trình quản lý gói NuGet.

Install-Package Aspose.BarCode
Install-Package Aspose.PDF

Tạo mã vạch bằng C#

Thư viện .NET này đã đưa ra nhiều phương pháp tạo và thao tác mã vạch theo chương trình. Bạn có thể thực hiện các bước sau và đoạn mã:

  1. Tạo một tài liệu PDF với một trang mới bằng cách tạo một phiên bản của lớp Aspose.Pdf.Document().
  2. Chuyển đổi hình ảnh mã vạch thành luồng PNG bằng cách khởi tạo một phiên bản của lớp BarcodeGenerator.
  3. Gọi thuộc tính Độ phân giải để đặt độ phân giải hình ảnh mã vạch.
  4. Tạo hình ảnh mã vạch bằng cách gọi phương thức GenerateBarCodeImage và gán nó cho đối tượng Bitmap.
  5. Khởi tạo một đối tượng của lớp MemoryStream.
  6. Lưu hình ảnh mã vạch để phát trực tuyến ở định dạng PNG.
  7. Tạo một đối tượng Hình chữ nhật trong đó hình ảnh sẽ được đặt ở góc trên/trái.
  8. Thêm hình ảnh vào trang PDF đã tạo bằng cách gọi phương thức AddImage.
  9. Gọi phương thức save để lưu tài liệu PDF.
int Resolution = 300;//300 dpi high resolution of the barcode image
int leftBarcodePosition = 10;//left position of the barcode image
int topBarcodePosition = 20;//top position of the barcode image

//tạo một tài liệu PDF với một trang mới bằng cách tạo một thể hiện của lớp Aspose.Pdf.Document() 
Aspose.Pdf.Document pdfDoc = new Aspose.Pdf.Document();
Aspose.Pdf.Page pdfPage = pdfDoc.Pages.Add();
//chuyển đổi hình ảnh mã vạch thành luồng PNG bằng cách khởi tạo một phiên bản của lớp BarcodeGenerator
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Pdf417, "Aspose.Barcode Example");
// Gọi thuộc tính Độ phân giải để đặt độ phân giải hình ảnh mã vạch
generator.Parameters.Resolution = Resolution;
// Tạo hình ảnh mã vạch bằng cách gọi phương thức TạoBarCodeImage và gán cho đối tượng Bitmap  
Bitmap image = generator.GenerateBarCodeImage();
// Khởi tạo một đối tượng của lớp MemoryStream 
MemoryStream imageStream = new MemoryStream();
// Lưu hình ảnh mã vạch để phát trực tuyến ở định dạng PNG. 
generator.Save(imageStream, BarCodeImageFormat.Png);
imageStream.Position = 0;
Rectangle imageRect = new Rectangle(leftBarcodePosition, topBarcodePosition, (image.Width * 72) / Resolution, (image.Height * 72) / Resolution);
//Tạo một đối tượng Hình chữ nhật nơi hình ảnh sẽ được đặt ở góc trên/trái 
Aspose.Pdf.Rectangle pdfRect = new Aspose.Pdf.Rectangle(imageRect.Left, pdfPage.Rect.Height - imageRect.Bottom, imageRect.Right, pdfPage.Rect.Height - imageRect.Top);
//thêm hình ảnh vào trang PDF đã tạo bằng cách gọi phương thức AddImage 
pdfPage.AddImage(imageStream, pdfRect);
//Gọi phương thức save để lưu tài liệu PDF 
pdfDoc.Save("AddBarcodeToPDFDocumentDirectly.pdf");

Bạn có thể thấy đầu ra trong hình ảnh dưới đây:

thêm mã vạch vào PDF

Cách đọc mã vạch từ tài liệu PDF nhiều trang

Trong phần này, chúng tôi sẽ viết đoạn mã đọc mã vạch từ tệp PDF theo chương trình.

Các bước được đề cập dưới đây:

  1. Khởi tạo một thể hiện của lớp Document để tạo tài liệu PDF.
  2. Khởi tạo hàm tạo của lớp PdfConverter bằng tệp PDF.
  3. Đặt chế độ tối ưu hóa mã vạch bằng cách đặt thuộc tính BarcodeOptimization.
  4. Bạn có thể đặt độ phân giải cho trang bằng cách đặt thuộc tính Độ phân giải.
  5. Đặt tất cả các trang hiển thị thành hình ảnh bắt đầu từ trang đầu tiên.
  6. Gọi phương thức DoConvert này để hiển thị các trang đã chọn cho hình ảnh.
  7. Hiển thị trang hiện tại vào luồng bộ nhớ dưới dạng hình ảnh PNG.
  8. Khởi tạo một phiên bản mới của lớp BarCodeReader với các giá trị mặc định để phát hiện mã vạch.
// Khởi tạo một thể hiện của lớp Tài liệu để tạo tài liệu PDF 
using (Aspose.Pdf.Document pdfDoc = new Aspose.Pdf.Document("AddBarcodeToPDFDocumentDirectly.pdf"))
    {
        // Khởi tạo hàm tạo của lớp PdfConverter bằng tệp PDF 
        Aspose.Pdf.Facades.PdfConverter pdfConverter = new Aspose.Pdf.Facades.PdfConverter(pdfDoc);
        // đặt chế độ tối ưu hóa mã vạch bằng cách đặt thuộc tính BarcodeOptimization 
        pdfConverter.RenderingOptions.BarcodeOptimization = true;
        //đặt độ phân giải cho trang bằng cách đặt thuộc tính Độ phân giải  
        pdfConverter.Resolution = new Aspose.Pdf.Devices.Resolution(300);
        //đặt tất cả các trang hiển thị thành hình ảnh bắt đầu từ trang 1
        pdfConverter.StartPage = 1; 
        pdfConverter.EndPage = pdfConverter.Document.Pages.Count;
        // Gọi phương thức DoConvert này để hiển thị các trang đã chọn cho hình ảnh 
        pdfConverter.DoConvert();
        while (pdfConverter.HasNextImage())
        {
            //hiển thị trang hiện tại vào luồng bộ nhớ dưới dạng hình ảnh png
            MemoryStream ms = new MemoryStream();
            pdfConverter.GetNextImage(ms, Aspose.Pdf.PageSize.A0);
            ms.Position = 0;

            //Khởi tạo một phiên bản mới của lớp BarCodeReader với các giá trị mặc định để phát hiện mã vạch.
            BarCodeReader reader = new BarCodeReader(ms, DecodeType.Pdf417, DecodeType.QR, DecodeType.DataMatrix);
            foreach (BarCodeResult result in reader.ReadBarCodes())
                Console.WriteLine($"Barcode type:{result.CodeTypeName}, Barcode Data:{result.CodeText}");
        }
    }

Nhận giấy phép miễn phí

Bạn có thể nhận được giấy phép tạm thời miễn phí để dùng thử API mà không bị giới hạn về đánh giá.

Tổng hợp

Điều này đưa chúng ta đến phần cuối của bài viết blog này. Chúng tôi đã hướng dẫn cách tạo mã vạch bằng C# và lưu chúng vào tệp PDF theo chương trình. Chúng tôi cũng đã hướng dẫn cách đọc mã vạch từ tệp PDF bằng API trình tạo mã vạch này. Ngoài ra, bạn có thể truy cập tài liệu của thư viện .NET này để biết thêm các tính năng khác. Cuối cùng, conholdate.com đang viết bài đăng blog mới về các chủ đề mới. Vì vậy, hãy giữ liên lạc để cập nhật thường xuyên.

Đặt một câu hỏi

Bạn có thể cho chúng tôi biết về các câu hỏi hoặc thắc mắc của bạn trên diễn đàn của chúng tôi.

Câu hỏi thường gặp

Làm thế nào để bạn tạo một chương trình mã vạch?

Bạn có thể cài đặt trình tạo mã vạch API này để xây dựng trình tạo mã vạch theo chương trình. Hơn nữa, bạn có thể tìm thấy danh sách các phương thức tại đây được thư viện này cung cấp.

Làm cách nào để tạo mã vạch trong ASP NET MVC?

Hãy kiểm tra phần này để tìm hiểu cách tạo mã vạch bằng C#. Trên thực tế, chỉ cần một vài dòng mã nguồn trong ứng dụng .NET để tạo và đọc mã vạch theo chương trình.

Xem thêm