如何使用 MigraDoc (C#) 在 PDF 中将图像并排放置
How to put images next to each other in a PDF using MigraDoc (C#)
我有一个 table 单元格,我想在其中将两张图片并排放置。好像不太对。
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 使用 RelativeHorizontal/RelativeVertical 投放广告,但我无法理解如何做。只有图片和文字的例子,没有2张图片的例子。
最简单的解决方案:在 table 单元格中添加一个段落,将两个图像都添加到该段落中,并在它们之间添加 non-breaking 个空格作为距离。
如果两个图像具有(几乎)相同的高度,这就可以正常工作。
在这种情况下,图像将由普通文本布局器处理。
另一个简单的解决方案:为每个图像创建一个单独的单元格。如果您不希望额外的单元格在那里可见,您可以在其他行中使用 MergeRight
。
您可以使用 RelativeHorizontal
和 RelativeVertical
将图像从正常布局流中取出,但这会使事情变得有点复杂。据我所知,您必须设置 image.WrapFormat.Style = WrapStyle.Through;
才能完成这项工作。但是你还必须注意文本和图像不要重叠。
我有一个 table 单元格,我想在其中将两张图片并排放置。好像不太对。
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 使用 RelativeHorizontal/RelativeVertical 投放广告,但我无法理解如何做。只有图片和文字的例子,没有2张图片的例子。
最简单的解决方案:在 table 单元格中添加一个段落,将两个图像都添加到该段落中,并在它们之间添加 non-breaking 个空格作为距离。
如果两个图像具有(几乎)相同的高度,这就可以正常工作。
在这种情况下,图像将由普通文本布局器处理。
另一个简单的解决方案:为每个图像创建一个单独的单元格。如果您不希望额外的单元格在那里可见,您可以在其他行中使用 MergeRight
。
您可以使用 RelativeHorizontal
和 RelativeVertical
将图像从正常布局流中取出,但这会使事情变得有点复杂。据我所知,您必须设置 image.WrapFormat.Style = WrapStyle.Through;
才能完成这项工作。但是你还必须注意文本和图像不要重叠。