代码之家  ›  专栏  ›  技术社区  ›  LIvanov

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

  •  1
  • LIvanov  · 技术社区  · 6 年前

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

    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 广告使用相对水平/相对垂直,但我无法理解如何使用。只有包含图像和文本的示例,没有包含2个图像的示例。

    1 回复  |  直到 6 年前
        1
  •  1
  •   I liked the old Stack Overflow    6 年前

    最简单的解决方案是:在表格单元格中添加一个段落,在段落中添加两个图像,并在它们之间添加不间断的空格作为距离。
    如果两幅图像(几乎)具有相同的高度,则此操作效果良好。
    在这种情况下,图像将由普通文本布局器处理。

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

    可以使用以下命令将图像从常规布局流中移除 RelativeHorizontal RelativeVertical ,但这让事情变得有点复杂。好吧,你必须设置 image.WrapFormat.Style = WrapStyle.Through; 让这一切顺利进行。但是,您还必须注意,文本和图像不会重叠。