新闻资讯 | 控件产品 | 技术文章 | 购物车 | 合作伙伴 | 问题解答 | 电子简报 | PDF论坛 | 资源下载
您现在的位置:技术文章>PDF开发篇 首页|PDF应用篇|PDF开发篇|解决方案

循序渐进学习iTextSharp之四十一

发布日期:2006-6-23 作者:张卫蓬 出处:PDFHome

条码

使用iText有两种方法生成一个条码,一种是需要一个ttf文件(在barcodefonts.zip压缩包中提供),另一种不需要额外的ttf文件(条码被作为一个图象产生)。

条码作为一个图象被产生(不需要ttf
Example1中演示了如何不使用一个ttf文件来向文档中增加一个条码。支持以下的条码类型。

点击Chap0907.pdf查看Example1形成的PDF文件。

  • Barcode39
  • Barcode128
  • BarcodeEAN
  • BarcodeInter25
  • BarcodePostnet

以下是产生一个值为9780201615883EAN条码

PdfContentByte cb = writer.DirectContent;
BarcodeEAN codeEAN = new BarcodeEAN();
codeEAN.CodeType = BarcodeEAN.EAN13;
codeEAN.Code = "9780201615883";
Image imageEAN = codeEAN.createImageWithBarcode(cb, null, null);
document.Add(new Phrase(new Chunk(imageEAN, 0, 0)));

要改变这些条码的外观,请阅读API文档。

 

使用ttf文件的条码

iText调用PdfBarcode可以产生4种类型的条码

  • CODE 39
    • CODE39.TTF
  • UPC-A
    • UPC-A.TTF
    • UPC-AHH.TTF
  • EAN-13
    • EAN-13.TTF
    • EAN-13B.TTF
    • EAN-13BH.TTF
    • EAN-13HH.TTF
  • Interleaved 2/5
    • I2OF5.TTF
    • I2OF5NT.TTF

这个类要与一些特定的TTF文件来结合使用,点击http://itextsharp.sourceforge.net/downloads/barcodefonts.zip下载这些特定的TTF文件

 

 (不是所有的这些字体都是免费的; 在使用这些字体以前清先阅读txt文件).

PdfBarcode
对象可以通过以下的方式进行构造
Chunk chunk = new PdfBarcode("c:\\winnt\\fonts\\CODE39.TTF", PdfBarcode.CODE39, 36, "0123456789");

备注:你需要告诉系统你的TTF文件 存放的位置和你使用条码的类型。如果你想要使用另一种条码字体这个是很重要的,你得对PdfBarcode类做一些改变,改变第三个字体大小的参数和第四个需要转换成条码的数字序列值的参数。

对于UPC, EAN en I2/5,你可以选择两种不同的字体风格。点击Chap0908.pdf查看Example2形成的PDF文档。

 

测量文本

有些时候知道一个确定的文本块的长度是必要的。如果你已经创建了一个BaseFont对象,你可以使用public float getWidthPoint(String text, float fontSize);
方法。
如果正如前面例子中的一样你使用了一个字体大小为36的条码字体,并且你想知道在一行上你需要多少空间来打印该条码,你只能使用getWidthPoint("0123456789", 36f)来获取该条码的宽度。

结果是以点数来计算宽度的。72个点代表1英尺。所以如果你结果宽度是252个点(如Example2所示),你可以像(252 / 72 = 3.5 inch * 2.54 = 8.89 cm)这样将它转换为英尺和厘米。
 

Adobe 字体
如果你有一些描述一个Adobe字体的AFMPFB文件,你可以将它们放到同样的路径下并且使用


BaseBont bf = BaseFont.createFont("myfont.afm", BaseFont.WINANSI, BaseFont.EMBEDDED);
但是如果你可以选择的话,使用一个true type 字体,则文档很小。

发布人:管理员 【报告错误】·【推荐好友】·【打印文章】
相关评论 本文现有 0 条评论 评分人数: 0 平均分: 0
相关评论
用户名: 密  码:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
注意:请不要在评论中含与内容无关的广告链接,违者封ID
文章搜索
推荐文章
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
热门点击
一个简单的PDF文件结构的分析(22609)
PHP的FDF文档支持(16221)
用C#制作PDF文件全攻略(13660)
Word转换PDF格式的C#或(12174)
pdfMaker文章:PDF加(11665)
ITextRenderer学习(11472)
PDF文件加密仿真(11088)
怎样用iReport制作Web(10445)
iText PDF概述(1)(9975)
循序渐进学习iTextShar(9901)
热门评论
从pdf文档中提取出文本(8)
PDFlib开发:创建超文本元(2)
客户端自动打印PDF(Prin(2)
浅谈PDFlib中文输出(一)(2)
xml的转换之pdf 2 ((1)
xml的转换之pdf 1 (x(1)
PDF知识讲座(1)(1)
PDFBox使用简介(1)
使用正则表达式计算PDF文档的(1)
word转pdf(1)