我需要在标题上对齐右边的图像。这是我的代码:
Section section = document.AddSection();
table = section.Headers.Primary.AddTable();
var column = table.AddColumn("5cm");
column.Format.Alignment = ParagraphAlignment.Left;
column = table.AddColumn("8cm");
column.Format.Alignment = ParagraphAlignment.Left;
column = table.AddColumn("4cm");
column.Format.Alignment = ParagraphAlignment.Right;
eRow.Cells[0].AddParagraph("Some text");
eRow.Cells[1].AddParagraph("Some text");
eRow.Cells[2].Format.Alignment = ParagraphAlignment.Right;
image = eRow.Cells[2].Elements.AddImage(imagePath);
image.LockAspectRatio = false;
image.Width = Unit.FromInch(0.16);
image.Height = Unit.FromInch(0.09);
image.RelativeVertical = RelativeVertical.Line;
image.RelativeHorizontal = RelativeHorizontal.Margin;
image.Top = ShapePosition.Top;
image.Left = ShapePosition.Right;
image.WrapFormat.Style = WrapStyle.Through;
但它始终在左边,请帮忙吗?
答案 0 :(得分:4)
我知道有点晚了 但是你必须将你的图像包装在一个段落中。 http://forum.pdfsharp.net/viewtopic.php?f=2&t=158
类似的东西(我使用你的部分代码)
Section section = document.AddSection();
table = section.Headers.Primary.AddTable();
var column = table.AddColumn("5cm");
//I assume eRow is just a row added to your table
var eRow = table.AddRow();
var paragraph = eRow.Cells[0].AddParagraph();
//set the alignment on the paragraph object
paragraph.Format.Alignment = ParagraphAlignment.Right;
paragraph.AddImage(imagePath);
我在使用上面的代码/链接时遇到了同样的问题。
答案 1 :(得分:0)
行
image.RelativeVertical = RelativeVertical.Line;
image.RelativeHorizontal = RelativeHorizontal.Margin;
image.Top = ShapePosition.Top;
image.Left = ShapePosition.Right;
image.WrapFormat.Style = WrapStyle.Through;
逻辑上将图像从单元格中取出。这会创建一个可以出现在页面任何位置的图像,而不仅仅是在单元格内。
如果您只是删除这五行,也许它会起作用。如果您向Paragraph
添加Cell
并将Image
添加到单元格,也许可行。
如果您提供了MCVE,如果我的建议有效,我会尝试过。但是你只显示一个代码片段。
行image.LockAspectRatio = false;
是多余的,但没有任何伤害。
答案 2 :(得分:-1)
如果您愿意的话,它将起作用:
row.Cells[1].AddParagraph().AddImage(fileName);
row.Cells[1].Format.Alignment = ParagraphAlignment.Right;