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呢?
往高人帮忙
谢谢
...全文
514 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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
  • 打赏
  • 举报
回复
关注...

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧