条码提供了一种快速有效的方式来识别和跟踪项目,因此在各行各业都不可或缺。通过在 PDF 中添加条码,公司可以增强其文档管理流程,从而以更简化的方式处理和跟踪 PDF 文件。此外,这种操作还能实现创建不仅包含传统文本和图像,还集成了条码功能的动态、交互式的 PDF 文档。本文将介绍如何使用 Spire.PDF for .NET 和 Spire.Barcode for .NET 在 C# 中为 PDF 添加条形码、二维码。
安装 .NET库
首先,您需要下载 Spire.PDF for .NET 和 Spire.Barcode for .NET 库,然后将这两个产品包中包含的 DLL 文件添加到您的 .NET 项目中作为引用。或者您也可以通过 NuGet 安装它们。
PM> Install-Package Spire.PDF
PM> Install-Package Spire.Barcode
C# 在 PDF 中添加条形码
Spire.PDF for .NET提供了多种类来代表不同的一维条码类型,如 PdfCodabarBarcode、PdfCode128ABarcode、PdfCode32Barcode、PdfCode39Barcode、PdfCode93Barcode。
每一类都提供了相应的属性,用于设置条形码文本、大小、颜色等。以下是在 PDF 页面指定位置绘制常见的 Codabar、Code128、Code39 和 Code93 条码的步骤。
- 创建 PdfDocument 对象。
- 使用 PdfDocument.Pages.Add() 方法在 PDF 中添加一页。
- 创建 PdfTextWidget 对象,然后使用 PdfTextWidget.Draw(PdfPageBase page, float x, float y) 方法在页面上绘制文本。
- 创建 PdfCodabarBarcode、PdfCode128ABarcode、PdfCode39Barcode、PdfCode93Barcode 对象。
- 通过相应类的 BarcodeToTextGapHeight 属性设置条形码与显示文本之间的间隙。
- 通过相应类的 TextDisplayLocation 属性设置条形码文本的显示位置。
- 通过相应类的 TextColor 属性设置条形码文本的颜色。
- 使用相应类的 Draw(PdfPageBase page, PointF location) 方法在 PDF 页面的指定位置绘制条形码。
- 使用 PdfDocument.SaveToFile() 方法保存生成的 PDF 文件。
- C#
using Spire.Pdf;
using Spire.Pdf.Barcode;
using Spire.Pdf.Graphics;
using System.Drawing;
namespace PDFBarcode
{
class Program
{
static void Main(string[] args)
{
//创建PDF文档
PdfDocument pdf = new PdfDocument();
//添加一页
PdfPageBase page = pdf.Pages.Add(PdfPageSize.A4);
//初始化y坐标
float y = 20;
//在页面上绘制文本
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 12f, FontStyle.Bold), true);
PdfTextWidget text = new PdfTextWidget();
text.Font = font;
text.Text = "Codabar:";
PdfLayoutResult result = text.Draw(page, 0, y);
page = result.Page;
y = result.Bounds.Bottom + 2;
//在页面上绘制Codabar条码
PdfCodabarBarcode Codabar = new PdfCodabarBarcode("00:12-3456/7890");
Codabar.BarcodeToTextGapHeight = 1f;
Codabar.TextDisplayLocation = TextLocation.Bottom;
Codabar.TextColor = Color.Blue;
Codabar.Draw(page, new PointF(0, y));
//在页面上绘制文本
text.Text = "Code128-A:";
result = text.Draw(page, 240, 20);
page = result.Page;
y = result.Bounds.Bottom + 2;
//在页面上绘制Code128-A条码
PdfCode128ABarcode Code128 = new PdfCode128ABarcode("HELLO 00-123");
Code128.BarcodeToTextGapHeight = 1f;
Code128.TextDisplayLocation = TextLocation.Bottom;
Code128.TextColor = Color.Blue;
Code128.Draw(page, new PointF(240, y));
//在页面上绘制文本
text.Text = "Code39:";
result = text.Draw(page, 0, Codabar.Bounds.Bottom + 8);
page = result.Page;
y = result.Bounds.Bottom + 2;
//在页面上绘制Code39条码
PdfCode39Barcode Code39 = new PdfCode39Barcode("16-273849");
Code39.BarcodeToTextGapHeight = 1f;
Code39.TextDisplayLocation = TextLocation.Bottom;
Code39.TextColor = Color.Blue;
Code39.Draw(page, new PointF(0, y));
//在页面上绘制文本
text.Text = "Code93:";
result = text.Draw(page, 240, Code128.Bounds.Bottom + 8);
page = result.Page;
y = result.Bounds.Bottom + 2;
//在页面上绘制Code93条码
PdfCode93Barcode Code93 = new PdfCode93Barcode("16-273849");
Code93.BarcodeToTextGapHeight = 1f;
Code93.TextDisplayLocation = TextLocation.Bottom;
Code93.TextColor = Color.Blue;
Code93.QuietZone.Bottom = 5;
Code93.Draw(page, new PointF(240, y));
//保存PDF文档
pdf.SaveToFile("添加条形码.pdf");
pdf.Close();
}
}
}
C# 在 PDF 中添加二维码
要在 PDF 文件中添加二维条码,首先需要使用 Spire.Barcode for .NET 库生成二维码,然后再通过 Spire.PDF for .NET 库将二维码图片添加到 PDF 文件中。具体步骤如下:
- 创建 PdfDocument 对象。
- 使用 PdfDocument.Pages.Add() 方法添加 PDF 页面。
- 创建 BarcodeSettings 对象。
- 调用 BarcodeSettings 类的相应属性来设置条形码类型、数据、纠错级别和宽度等。
- 根据设置创建 BarCodeGenerator 对象。
- 使用 BarCodeGenerator.GenerateImage() 方法生成二维码图像。
- 使用 PdfPageBase.Canvas.DrawImage(PdfImage image, float x, float y) 方法在 PDF 页面的指定位置绘制二维码图像。
- 使用 PdfDocument.SaveToFile() 方法保存生成的 PDF 文件。
- C#
using System.Drawing;
using Spire.Barcode;
using Spire.Pdf;
using Spire.Pdf.Graphics;
namespace PDFQRcode
{
class Program
{
static void Main(string[] args)
{
//创建PDF文档
PdfDocument pdf = new PdfDocument();
//添加一页
PdfPageBase page = pdf.Pages.Add();
//创建BarcodeSettings对象
BarcodeSettings settings = new BarcodeSettings();
//将条码类型设置为QRCode
settings.Type = BarCodeType.QRCode;
//设置二维码数据
settings.Data = "E-iceblue";
settings.Data2D = "E-iceblue";
//设置二维码宽度
settings.X = 2.5f;
//设置纠错级别
settings.QRCodeECL = QRCodeECL.Q;
//在底部显示文本
settings.ShowTextOnBottom = true;
//根据设置生成二维码图片
BarCodeGenerator generator = new BarCodeGenerator(settings);
Image QRimage = generator.GenerateImage();
//初始化y坐标
float y = 20;
//在页面上绘制文本
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 12f, FontStyle.Bold), true);
PdfTextWidget text = new PdfTextWidget();
text.Font = font;
text.Text = "QRCode:";
PdfLayoutResult result = text.Draw(page, 0, y);
y = result.Bounds.Bottom + 2;
//在页面上绘制二维码图片
PdfImage pdfImage = PdfImage.FromImage(QRimage);
page.Canvas.DrawImage(pdfImage, 0, y);
//保存PDF文件
pdf.SaveToFile("添加二维码.pdf");
}
}
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。