如何使用MigraDoc(C#)将图像彼此相邻放在PDF中

时间:2018-03-04 17:33:24

标签: c# pdf-generation migradoc

我有一个表格单元格,我想把两个图像放在一起。似乎无法做对。

var imageIndex = 0;
foreach (var fileName in fileNames)
{
    var image = new Image(fileName)
    {
        WrapFormat =
        {
            DistanceTop = 10,
            DistanceRight = 10,
            DistanceLeft = imageIndex * imageSize
        },
        Width = imageSize,
        Height = imageSize
    };

    row.Cells[0].Add(image);
    imageIndex++;
}

MigraDoc samples广告使用RelativeHorizo​​ntal / RelativeVertical,但我无法理解如何。只有图像和文本的示例,没有2个图像的示例。

1 个答案:

答案 0 :(得分:0)

最简单的解决方案:在表格单元格中添加一个段落,将两个图像添加到段落中,并在它们之间添加不间断的距离。
如果两个图像都具有(几乎)相同的高度,则此方法可以正常工作 在这种情况下,图像将由普通文本布局处理。

另一个简单的解决方案:为每个图像创建一个单独的单元格。如果您不希望在那里看到额外的单元格,可以在其他行中使用MergeRight

您可以使用RelativeHorizontalRelativeVertical将图像从正常布局流中取出,但这会让事情变得有点复杂。 AFAIK您必须设置image.WrapFormat.Style = WrapStyle.Through;才能使其正常工作。但是你还必须注意文本和图像不要重叠。