本文介绍如何通过c# 和vb.net代码实现在word文档中添加条码和二维码。代码中将分为在word正文段落中、页眉页脚中等情况来添加。
使用工具:
free spire.office for .net (免费版)
工具简介:
这是spire所有.net平台下免费产品的集合包,包含spire.barcode.dll、spire.dataexport.dll、spire.pdf.dll、spire.doc.dll、spire.docviewer.forms.dll 、spire.pdfviewer.forms.dll 、spire.presentation.dll 、spire.xls.dll等dll可用于操作word/pdf/excel/ppt等文件。
本文添加条码、二维码需要在vs程序中添加引用 spire.doc.dll 和 spire.barcode.dll 这两个dll文件。
dll添加引用效果:
注意:
1. 需要下载安装到本地指定路径,dll文件可在安装路径下的bin文件夹下获取。
2. 生成的条码、二维码会有水印字样的文字,可通过此方法去除。
代码示例
1. 添加条码到word
c#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
using spire.doc;
using spire.barcode;
using system.drawing;
using system.io;
using spire.doc.documents;
namespace addbarcode
{
class program
{
static void main( string [] args)
{
//调用方法 applykey(string key) 移除水印文字
spire.barcode.barcodesettings.applykey( "在这里输入去除水印字样的序列号" );
//创建document对象,加载word文档
document doc = new document();
doc.loadfromfile( "test.docx" );
//获取第2节
section section = doc.sections[1];
//使用spire.barcode的barcodesettings和barcodegenerator类创建条码并保存为图片
barcodesettings settings = new barcodesettings();
settings.type = barcodetype.code128;
settings.data = "123456789" ;
settings.data2d = "123456789" ;
settings.showtext = false ;
settings.barheight = 4;
settings.x = 0.3f;
settings.hasborder = true ;
settings.borderwidth = 0.5f;
settings.bordercolor = color.aliceblue;
settings.backcolor = color.wheat;
barcodegenerator barcodegenerator = new barcodegenerator(settings);
image image = barcodegenerator.generateimage();
//image.save("barcode.png", system.drawing.imaging.imageformat.png);//如果需要保存生成的barcode图片,可执行此步骤代码
//添加条码到正文段落
paragraph paragraph = section.addparagraph();
paragraph.text = "收货码:" ;
paragraph.appendpicture(image);
paragraph.format.horizontalalignment = horizontalalignment.right;
//添加条码图片到word页脚
headerfooter footer = section.headersfooters.footer;
paragraph footerpara = footer.addparagraph();
footerpara.text = "扫码识真伪:" ;
footerpara.appendpicture(image);
footerpara.format.horizontalalignment = horizontalalignment.left;
//保存文档
doc.savetofile( "barcodetoword.docx" , fileformat.docx2013);
system.diagnostics.process.start( "barcodetoword.docx" );
}
}
}
|
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
imports spire.doc
imports spire.barcode
imports system.drawing
imports system.io
imports spire.doc.documents
namespace addbarcode
class program
private shared sub main(args as string ())
'调用方法 applykey( string key) 移除水印文字
spire.barcode.barcodesettings.applykey( "在这里输入去除水印字样的序列号" )
'创建document对象,加载word文档
dim doc as new document()
doc.loadfromfile( "test.docx" )
'获取第2节
dim section as section = doc.sections(1)
'使用spire.barcode的barcodesettings和barcodegenerator类创建条码并保存为图片
dim settings as new barcodesettings()
settings.type = barcodetype.code128
settings.data = "123456789"
settings.data2d = "123456789"
settings.showtext = false
settings.barheight = 4
settings.x = 0.3f
settings.hasborder = true
settings.borderwidth = 0.5f
settings.bordercolor = color.aliceblue
settings.backcolor = color.wheat
dim barcodegenerator as new barcodegenerator(settings)
dim image as image = barcodegenerator.generateimage()
'image.save( "barcode.png" , system.drawing.imaging.imageformat.png); //如果需要保存生成的barcode图片,可执行此步骤代码
'添加条码到正文段落
dim paragraph as paragraph = section.addparagraph()
paragraph.text = "收货码:"
paragraph.appendpicture(image)
paragraph.format.horizontalalignment = horizontalalignment.right
'添加条码图片到word页脚
dim footer as headerfooter = section.headersfooters.footer
dim footerpara as paragraph = footer.addparagraph()
footerpara.text = "扫码识真伪:"
footerpara.appendpicture(image)
footerpara.format.horizontalalignment = horizontalalignment.left
'保存文档
doc.savetofile( "barcodetoword.docx" , fileformat.docx2013)
system.diagnostics.process.start( "barcodetoword.docx" )
end sub
end class
end namespace
|
条码添加效果:
2. 添加二维码到word
c#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
using spire.doc;
using spire.barcode;
using system.drawing;
using system.io;
using spire.doc.documents;
using system;
namespace addqrcode
{
class program
{
static void main( string [] args)
{
//调用方法 applykey(string key) 移除水印文字
spire.barcode.barcodesettings.applykey( "在这里输入去除水印字样的序列号" );
//创建document对象,加载word文档
document doc = new document();
doc.loadfromfile( "test.docx" );
//获取第2节
section section = doc.sections[1];
//使用spire.barcode的barcodesettings和barcodegenerator类创建二维码并保存为图片
barcodesettings settings = new barcodesettings();
settings.type = barcodetype.qrcode;
settings.imagewidth = 50;
settings.imageheight = 50;
settings.data = "123456" ;
settings.data2d = "123456" ;
settings.x =0.7f;
settings.leftmargin = 1;
settings.showtextonbottom = true ;
settings.qrcodeecl = qrcodeecl.q;
settings.qrcodedatamode = qrcodedatamode.numeric;
barcodegenerator generator = new barcodegenerator(settings);
image image = generator.generateimage();
//image.save("qrcode.png", system.drawing.imaging.imageformat.png);//如果需要保存生成的二维码图片,可执行此步骤代码
//添加二维码到正文段落
paragraph paragraph = section.addparagraph();
paragraph.appendpicture(image);
paragraph.format.horizontalalignment = horizontalalignment.right;
//添加二维码图片到word页眉
headerfooter header = section.headersfooters.header;
//headerfooter footer = section.headersfooters.footer;//获取页脚
paragraph headerpara = header.addparagraph();
headerpara.appendpicture(image);
headerpara.format.horizontalalignment = horizontalalignment.center;
//保存文档
doc.savetofile( "qrcodetoheader.docx" , fileformat.docx2013);
system.diagnostics.process.start( "qrcodetoheader.docx" );
}
}
}
|
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
imports spire.doc
imports spire.barcode
imports system.drawing
imports system.io
imports spire.doc.documents
namespace addqrcode
class program
private shared sub main(args as string ())
'调用方法 applykey( string key) 移除水印文字
spire.barcode.barcodesettings.applykey( "在这里输入去除水印字样的序列号" )
'创建document对象,加载word文档
dim doc as new document()
doc.loadfromfile( "test.docx" )
'获取第2节
dim section as section = doc.sections(1)
'使用spire.barcode的barcodesettings和barcodegenerator类创建二维码并保存为图片
dim settings as new barcodesettings()
settings.type = barcodetype.qrcode
settings.imagewidth = 50
settings.imageheight = 50
settings.data = "123456"
settings.data2d = "123456"
settings.x = 0.7f
settings.leftmargin = 1
settings.showtextonbottom = true
settings.qrcodeecl = qrcodeecl.q
settings.qrcodedatamode = qrcodedatamode.numeric
dim generator as new barcodegenerator(settings)
dim image as image = generator.generateimage()
'image.save( "qrcode.png" , system.drawing.imaging.imageformat.png); //如果需要保存生成的二维码图片,可执行此步骤代码
'添加二维码到正文段落
dim paragraph as paragraph = section.addparagraph()
paragraph.appendpicture(image)
paragraph.format.horizontalalignment = horizontalalignment.right
'添加二维码图片到word页眉
dim header as headerfooter = section.headersfooters.header
'headerfooter footer = section.headersfooters.footer; //获取页脚
dim headerpara as paragraph = header.addparagraph()
headerpara.appendpicture(image)
headerpara.format.horizontalalignment = horizontalalignment.center
'保存文档
doc.savetofile( "qrcodetoheader.docx" , fileformat.docx2013)
system.diagnostics.process.start( "qrcodetoheader.docx" )
end sub
end class
end namespace
|
二维码添加效果:
以上就是c#/vb.net 在word中添加条码、二维码的示例代码的详细内容,更多关于c#/vb.net 在word中添加条码、二维码的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/Yesi/p/13322749.html