C# 在C的iTextSharp中,是否可以将Acrofield值设置为null#
在下面C#中iTextSharp的代码中,字段值的空值是否可以接受,即第二个参数是否可以为空或必须为非空字符串?我正在为代码中的各个字段设置值。我找不到任何关于此方法的合适文档C# 在C的iTextSharp中,是否可以将Acrofield值设置为null#,c#,itextsharp,acrofields,C#,Itextsharp,Acrofields,在下面C#中iTextSharp的代码中,字段值的空值是否可以接受,即第二个参数是否可以为空或必须为非空字符串?我正在为代码中的各个字段设置值。我找不到任何关于此方法的合适文档 foreach (var kvp in fieldsValuesCollection) { acroFields.SetField(kvp.Key, kvp.Value); } 更新1: 我终于找到了答案,“SetField”方法的第二个参数不能为null(必须是非null字符串
foreach (var kvp in fieldsValuesCollection)
{
acroFields.SetField(kvp.Key, kvp.Value);
}
更新1:
我终于找到了答案,“SetField”方法的第二个参数不能为null(必须是非null字符串)。我运行了从这个url下载的一些示例代码:并在我的机器上本地运行了它,这导致了如下所示的异常。我对下载的代码所做的唯一更改是将所有文本类型字段设置为null,而不是非null字符串,它抛出了一个错误
因此,开发人员在设置acrofield值时应该小心,否则他们可能会遇到难以发现的错误,因为iTextSharp的API文档中没有提到这一事实
我用来测试的代码如下
foreach (var fieldName in formFieldMap.Keys)
{
if (formFields.GetFieldType(fieldName) == 4)
{
formFields.SetField(fieldName, null);
}
else
{
formFields.SetField(fieldName, formFieldMap[fieldName]);
}
}
ToString(对象)转换为字符串。如果对象为null,Convert.ToString会将其转换为空字符串。