如果图像不存在则插入文本 Aspose Mail Merge

Posted

技术标签:

【中文标题】如果图像不存在则插入文本 Aspose Mail Merge【英文标题】:Insert text if image doesn't exist Aspose Mail Merge 【发布时间】:2019-09-06 07:01:08 【问题描述】:

我正在插入图片,这是我的代码:

void IFieldMergingCallback.ImageFieldMerging(ImageFieldMergingArgs e)

    if (this.mBuilder == null)
        this.mBuilder = new DocumentBuilder(e.Document);

    string filename = GetFilePath();
    if (!File.Exists(filename))
    
        //todo insert text "<Image not found>" instead image
        this.mBuilder.MoveToField(e.Field, false);
        this.mBuilder.Write("<Image not found>");
        e.ImageFileName = string.Empty;
        return;
    

    e.ImageFileName = filename;

如果图像不存在,我想插入文本"&lt;Image not found&gt;"。但是这段代码会抛出错误Cannot load image from field '...'. The field contains data in unsupported format. Could not find file

我应该插入什么来修复我的错误?

【问题讨论】:

请分享完整的源代码(没有编译错误),以帮助我们最终重现您的问题。还请提供您遇到此问题的模板文档。我与 Aspose 一起担任开发人员宣传员。 【参考方案1】:

这解决了我的问题。我只需要将字段删除到我的if 语句中:

this.mBuilder.MoveToField(e.Field, false);
this.mBuilder.Write("<Image not found>");
e.Field.Remove();
return;

【讨论】:

以上是关于如果图像不存在则插入文本 Aspose Mail Merge的主要内容,如果未能解决你的问题,请参考以下文章

MySQL INSERT插入条件判断:如果不存在则插入

HSQLDB 如果不存在则插入,如果存在则更新

数据库:如果存在则“更新”如果不存在则插入 [重复]

如果不存在则插入mysql,如果存在则不更新

Mysql插入数据:不存在则插入,存在则跳过或更新

Postgres 如果不存在则插入多行,如果存在或插入则返回所有 id,然后使用所有 id 插入另一个表