C# 如何使用iTextSharp对齐PdfPCell或段落?
我正在创建一个表,其中包含带有段落的单元格。在这些段落中,我添加了两个C# 如何使用iTextSharp对齐PdfPCell或段落?,c#,pdf-generation,itextsharp,C#,Pdf Generation,Itextsharp,我正在创建一个表,其中包含带有段落的单元格。在这些段落中,我添加了两个Chunk对象以添加图像,以及三个短语对象以添加文本和空格,如下所示: var headerTable = new PdfPTable(1); headerTable.RunDirection = GetDirection(lang); headerTable.DefaultCell.Border = Rectangle.NO_BORDER; headerTable.WidthPercentage = 100f; var c
Chunk
对象以添加图像,以及三个短语
对象以添加文本和空格,如下所示:
var headerTable = new PdfPTable(1);
headerTable.RunDirection = GetDirection(lang);
headerTable.DefaultCell.Border = Rectangle.NO_BORDER;
headerTable.WidthPercentage = 100f;
var cellLogo = new PdfPCell();
cellLogo.Border = Rectangle.NO_BORDER;
Paragraph pHeader = new Paragraph();
pHeader.Add(new Chunk(logo,0,0)); //Image
pHeader.Add(new Phrase(" "));
pHeader.Add(new Chunk(_localizationService.GetResource("Admin.Commmon.HNLRequisition", lang.Id), labrecFont));
pHeader.Add(new Phrase(" "));
pHeader.Add(new Chunk(imgHNL, 0, 0));//image
cellLogo.AddElement(pHeader);
headerTable.AddCell(cellLogo);
现在我希望段落中的每个元素都对齐,但我得到以下输出:
如何确保文本和图像对齐。您试图将表格数据放入段落中有什么具体原因吗?在大多数写作系统中,段落(基本上)是底部对齐内容的。从你的截图中,我真的建议你使用一个(可能是嵌套的)表格,你可以从中选择;特别是当您以任何方式使用表时,您可以给它3列并轻松对齐。但是,如果您坚持不使用表格功能来制作表格,您应该查看
Chunk.SetTextRise
来提高或降低区块。我没有在段落中添加图像和文本,而是在复合模式下使用了不同的单元格,这解决了我的问题。您尝试将表格数据放入段落中有什么具体原因吗?在大多数写作系统中,段落(基本上)是底部对齐内容的。从你的截图中,我真的建议你使用一个(可能是嵌套的)表格,你可以从中选择;特别是当您以任何方式使用表时,您可以给它3列并轻松对齐。但是,如果您坚持不使用表格功能来制作表格,您应该查看Chunk.SetTextRise
来提升或降低区块。我没有在段落中添加图像和文本,而是在复合模式中使用了不同的单元格,这解决了我的问题。