问题描述
当我尝试将图像直接插入ImageFieldMergingArgs时,使用以下代码,它会正确显示在表格单元格中...
override fun imageFieldMerging(imageFieldMergingArgs: ImageFieldMergingArgs) {
val fieldValue = imageFieldMergingArgs.fieldValue
if (fieldValue is DataString) {
val decodedImage = fieldValue.decode()
imageFieldMergingArgs.imageStream = ByteArrayInputStream(decodedImage)
}
}
但是当我尝试在MailMerge中使用Shape插入图像时。那么它就会出现在桌子外面。我正在使用以下代码
override fun imageFieldMerging(imageFieldMergingArgs: ImageFieldMergingArgs) {
val fieldValue = imageFieldMergingArgs.fieldValue
if (fieldValue is DataString) {
val shape = Shape(imageFieldMergingArgs.document,ShapeType.IMAGE)
shape.wrapType = WrapType.SQUARE
shape.aspectRatioLocked = false
shape.anchorLocked = true
shape.allowOverlap = false
shape.width = imageFieldMergingArgs.imageWidth.value
shape.height = imageFieldMergingArgs.imageHeight.value
imageFieldMergingArgs.shape = shape
}
}
有什么方法可以使用imageFieldMergingArgs的形状将图像添加到表格单元格中。
谢谢
解决方法
当您指定imageFieldMergingArgs.imageStream时,将使用WrapType.INLINE插入形状。在第二个片段中,指定WrapType.SQUARE。这可能是不同的。如果没有您的模板,很难确切地说出问题所在。但是我会尝试指定WrapType.INLINE。我用一个简单的模板在我这边测试了两个代码段,两种情况下图像都在表格单元格内。