条形码技术广泛应用于商业零售、运输、物流、电子商务等领域。文本将为大家介绍如何使用Spire.PDF和Spire.Barcode在PDF中添加条形码、二维码。
目前,Spire.PDF本身仅支持创建Codabar、Code 11、Code 39、Code128、Code 93等一维条形码类型,如果需要添加其他类型的条形码及二维码,则需要使用Spire.Barcode来进行创建。
使用Spire.PDF自带的类创建条形码
C#
//创建PdfDocument实例
PdfDocument pdf = new PdfDocument();
PdfPageBase page = pdf.Pages.Add();
//初始化一些变量
float y = 20; //初始化y坐标
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 12f, FontStyle.Bold), true); //定义font
//绘制文本“Codabar:”到PDF
PdfTextWidget text = new PdfTextWidget();
text.Font = font;
text.Text = "Codabar:";
PdfLayoutResult result = text.Draw(page, 0, y); //在指定位置绘制文本
y = result.Bounds.Bottom + 2;
//绘制Codabar条形码到PDF
PdfCodabarBarcode codabar = new PdfCodabarBarcode("00:12-3456/7890"); //初始化PdfCodabarBarcode类的实例
codabar.BarcodeToTextGapHeight = 1f;
codabar.EnableCheckDigit = true;
codabar.ShowCheckDigit = true;
codabar.TextDisplayLocation = TextLocation.Bottom;
codabar.TextColor = Color.Green;
codabar.Draw(page, new PointF(0, y)); //在指定位置绘制条形码
y = codabar.Bounds.Bottom + 5;
//绘制文本“Code39:”到PDF
text.Text = "Code39:";
result = text.Draw(page, 0, y); //在指定位置绘制文本
page = result.Page;
y = result.Bounds.Bottom + 2;
//绘制Code 39条形码到PDF
PdfCode39Barcode code39 = new PdfCode39Barcode("16-273849"); //初始化PdfCode39Barcode类的实例
codabar.BarcodeToTextGapHeight = 1f;
code39.BarcodeToTextGapHeight = 1f;
code39.TextDisplayLocation = TextLocation.Bottom;
code39.TextColor = Color.Blue;
code39.Draw(page, new PointF(0, y)); //在指定位置绘制条形码
y = code39.Bounds.Bottom + 5;
//保存文档
pdf.SaveToFile("Barcode.pdf");
VB.NET
'创建PdfDocument实例
Dim pdf As New PdfDocument()
Dim page As PdfPageBase = pdf.Pages.Add()
'初始化一些变量
Dim y As Single = 20
'初始化y坐标
Dim font As New PdfTrueTypeFont(New Font("Arial", 12F, FontStyle.Bold), True)
'定义font
'绘制文本“Codabar:”到PDF
Dim text As New PdfTextWidget()
text.Font = font
text.Text = "Codabar:"
Dim result As PdfLayoutResult = text.Draw(page, 0, y)
'在指定位置绘制文本
y = result.Bounds.Bottom + 2
'绘制Codabar条形码到PDF
Dim codabar As New PdfCodabarBarcode("00:12-3456/7890")
'初始化PdfCodabarBarcode类的实例
codabar.BarcodeToTextGapHeight = 1F
codabar.EnableCheckDigit = True
codabar.ShowCheckDigit = True
codabar.TextDisplayLocation = TextLocation.Bottom
codabar.TextColor = Color.Green
codabar.Draw(page, New PointF(0, y))
'在指定位置绘制条形码
y = codabar.Bounds.Bottom + 5
'绘制文本“Code39:”到PDF
text.Text = "Code39:"
result = text.Draw(page, 0, y)
'在指定位置绘制文本
page = result.Page
y = result.Bounds.Bottom + 2
'绘制Code 39条形码到PDF
Dim code39 As New PdfCode39Barcode("16-273849")
'初始化PdfCode39Barcode类的实例
codabar.BarcodeToTextGapHeight = 1F
code39.BarcodeToTextGapHeight = 1F
code39.TextDisplayLocation = TextLocation.Bottom
code39.TextColor = Color.Blue
code39.Draw(page, New PointF(0, y))
'在指定位置绘制条形码
y = code39.Bounds.Bottom + 5
'保存文档
pdf.SaveToFile("Barcode.pdf")
使用Spire.Barcode创建二维码,添加到PDF
以下代码需同时使用Spire.Barcode和Spire.PDF,请下载并添加Spire.Barcode.dll和Spire.Pdf.dll至程序中。
C#
//创建PdfDocument实例
PdfDocument pdf = new PdfDocument();
PdfPageBase page = pdf.Pages.Add();
//使用Spire.Barcode的BarcodeSettings和BarcodeGenerator类创建二维码图形
Spire.Barcode.BarcodeSettings settings = new BarcodeSettings();
settings.Type = BarCodeType.QRCode;
settings.Data = "123456789";
settings.Data2D = "123456789";
settings.X = 2f;
settings.LeftMargin = 0;
settings.ShowTextOnBottom = true;
settings.QRCodeECL = QRCodeECL.Q;
settings.QRCodeDataMode = QRCodeDataMode.Numeric;
Spire.Barcode.BarCodeGenerator generator = new BarCodeGenerator(settings);
Image image = generator.GenerateImage();
//绘制文本“QR Code:”到PDF
float y = 20;
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 12f, FontStyle.Bold), true);
PdfTextWidget text = new PdfTextWidget();
text.Font = font;
text.Text = "QR Code:";
PdfLayoutResult result = text.Draw(page, 0, y);
y = result.Bounds.Bottom + 2;
//绘制二维码图形到PDF
PdfImage pdfImage = PdfImage.FromImage(image);
page.Canvas.DrawImage(pdfImage, 0, y);
//保存文档
pdf.SaveToFile("QRCode.pdf");
VB.NET
'创建PdfDocument实例
Dim pdf As New PdfDocument()
Dim page As PdfPageBase = pdf.Pages.Add()
'使用Spire.Barcode的BarcodeSettings和BarcodeGenerator类创建二维码图形
Dim settings As Spire.Barcode.BarcodeSettings = New BarcodeSettings()
settings.Type = BarCodeType.QRCode
settings.Data = "123456789"
settings.Data2D = "123456789"
settings.X = 2F
settings.LeftMargin = 0
settings.ShowTextOnBottom = True
settings.QRCodeECL = QRCodeECL.Q
settings.QRCodeDataMode = QRCodeDataMode.Numeric
Dim generator As Spire.Barcode.BarCodeGenerator = New BarCodeGenerator(settings)
Dim image As Image = generator.GenerateImage()
'绘制文本“QR Code:”到PDF
Dim y As Single = 20
Dim font As New PdfTrueTypeFont(New Font("Arial", 12F, FontStyle.Bold), True)
Dim text As New PdfTextWidget()
text.Font = font
text.Text = "QR Code:"
Dim result As PdfLayoutResult = text.Draw(page, 0, y)
y = result.Bounds.Bottom + 2
'绘制二维码图形到PDF
Dim pdfImage__1 As PdfImage = PdfImage.FromImage(image)
page.Canvas.DrawImage(pdfImage__1, 0, y)
'保存文档
pdf.SaveToFile("QRCode.pdf")