MigraDoc 中与其他单元格重叠的单元格内的图像
Image inside a cell overlapping other cells in MigraDoc
我想在 MigraDoc 的表格单元格中放置一张图片,但我最终得到的图片拉伸了整行。简化代码部分如下所示:
table = sec.AddTable();
table.Borders.Width = 0.1; //only for visualization
column = table.AddColumn("6cm");
column = table.AddColumn("7.5cm");
column = table.AddColumn("2.5cm");
row = table.AddRow();
row[0].AddParagraph("title");
row[1].AddImage("C:\sample.jpg").Width = "3cm";
row = table.AddRow();
row[0].AddParagraph(" - some text");
row = table.AddRow();
row[0].AddParagraph(" - some text");
row = table.AddRow();
row[0].AddParagraph(" - some text");
row = table.AddRow();
row[2].AddParagraph("0.00$");
下面的第一张图片显示了结果,第二张图片显示了所需的效果。
当您为图像设置 .WrapFormat.Style = WrapStyle.Through
时,布局器将忽略图像,并且行的高度将不会适应图像。
如果 table 有边框,那么您可能需要在 table 之后添加图像,以将其绘制在 table 之上。
一个简单的替代方法是将 .MergeDown
用于带有图像的 table 单元格。这就像 HTML 中的 RowSpan。在这种情况下,table 将增长以适应图像,因此您无法获得第二张图像的效果(图像延伸到 table 下方)。
如果您必须处理许多不同的图像大小,这可以避免 WrapStyle.Through 带来的复杂性,并且如果 table 不适合单个页面,应该给您干净的分页符。
发票示例在 table 秒内未使用图像,但使用了 MergeDown
:
http://pdfsharp.net/wiki/Invoice-sample.ashx
我想在 MigraDoc 的表格单元格中放置一张图片,但我最终得到的图片拉伸了整行。简化代码部分如下所示:
table = sec.AddTable();
table.Borders.Width = 0.1; //only for visualization
column = table.AddColumn("6cm");
column = table.AddColumn("7.5cm");
column = table.AddColumn("2.5cm");
row = table.AddRow();
row[0].AddParagraph("title");
row[1].AddImage("C:\sample.jpg").Width = "3cm";
row = table.AddRow();
row[0].AddParagraph(" - some text");
row = table.AddRow();
row[0].AddParagraph(" - some text");
row = table.AddRow();
row[0].AddParagraph(" - some text");
row = table.AddRow();
row[2].AddParagraph("0.00$");
下面的第一张图片显示了结果,第二张图片显示了所需的效果。
当您为图像设置 .WrapFormat.Style = WrapStyle.Through
时,布局器将忽略图像,并且行的高度将不会适应图像。
如果 table 有边框,那么您可能需要在 table 之后添加图像,以将其绘制在 table 之上。
一个简单的替代方法是将 .MergeDown
用于带有图像的 table 单元格。这就像 HTML 中的 RowSpan。在这种情况下,table 将增长以适应图像,因此您无法获得第二张图像的效果(图像延伸到 table 下方)。
如果您必须处理许多不同的图像大小,这可以避免 WrapStyle.Through 带来的复杂性,并且如果 table 不适合单个页面,应该给您干净的分页符。
发票示例在 table 秒内未使用图像,但使用了 MergeDown
:
http://pdfsharp.net/wiki/Invoice-sample.ashx