导航
  • 主页
  • VBS
  • .NET技术
  • VBA
  • VB网络编程
  • VB多媒体
  • VB数据库
  • VB控件
  • VB COM/DCOM
  • VB基础类
  • VB API
  • 问答

itextsharp 更改PDF内容文字

lwl0606 2008-11-18 05:11:24
Dim pdfFormFields As AcroFields = pdfStamper.AcroFields
pdfFormFields.SetField("f1_01(0)", "1")
利用itextsharp 的SetField可以更快某块的文字内容,但是块的名字fieldname是怎么找到的呢?
比如 ,我要更改原来PDF文档了里面文字是“your name”的地方,怎么找到该文字的fieldname呢?
往高人帮忙
谢谢
...全文
253 点赞 收藏 4
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lwl0606 2008-11-19
为什么不能声明hashmap类型呢?
已经导入Imports System.Collections
回复
hornbills 2008-11-18
先用AcroFields.GetFields()获得所有的块,返回类型是Hashmap
然后通过循环获先得到块名,通过块名获得块和块里的内容。

注意:代码没有经过测试


//返回值是AcroFields
AcroFields pdfFormFields = pdfStamper.AcroFields;

if (acroFields != null) {
//返回值是HashMap
HashMap acroFieldMap = pdfFormFields.getFields();
Iterator i = acroFieldMap.keySet().iterator();

while (i.hasNext()) {
//获得块名
String fieldName = (String) i.next();
//通过块名获得块
AcroFields.Item item = acroFields.getFieldItem(fieldName);
//通过块名获得里面的值
String value = acroFields.getField(fieldName);

}
}

回复
hornbills 2008-11-18
两个一模一样的帖子?

先用AcroFields.GetFields()获得所有的块,返回类型是Hashmap
然后通过循环获先得到块名,通过块名获得块和块里的内容。

注意:代码没有经过测试


//返回值是AcroFields
AcroFields pdfFormFields = pdfStamper.AcroFields;

if (acroFields != null) {
//返回值是HashMap
HashMap acroFieldMap = pdfFormFields.getFields();
Iterator i = acroFieldMap.keySet().iterator();

while (i.hasNext()) {
//获得块名
String fieldName = (String) i.next();
//通过块名获得块
AcroFields.Item item = acroFields.getFieldItem(fieldName);
//通过块名获得里面的值
String value = acroFields.getField(fieldName);

}
}

回复
floadcloud 2008-11-18
关注...
回复
发动态
发帖子
VB
创建于2007-09-28

1.5w+

社区成员

VB技术相关讨论,主要为经典vb,即VB6.0
申请成为版主
社区公告
暂无公告