0

我正在尝试使用 aspose 单词在 pdf 中创建内部单元格。但我对它的风格有疑问。我需要在单元格中居中并适合我的文本。但是当我为单元格设置中心属性时,它会自动提供一些填充。

我用 MS word 制作了一个示例,如下图所示: 在此处输入图像描述

这是我使用 aspose 词以编程方式创建的。在此处输入图像描述

如您所见,当我将列的中心属性设置为 true 时,它​​不适合。我的内部单元格导入代码如下:

Cell cell = table.Rows[j].Cells[i];
cell.CellFormat.RightPadding = 0;
foreach (Paragraph pf in cell.Paragraphs)
{
     pf.ParagraphFormat.LeftIndent = 0;
}
cell.CellFormat.WrapText = false;
builder.MoveTo(cell.FirstParagraph);

builder.InsertCell();
builder.Writeln(tr.Rows[j][i].Value);
builder.EndTable();

我应该设置哪个属性以使其适合单元格,谢谢。

4

1 回答 1

0

请使用以下代码示例获取所需的输出。您可以根据需要修改表格/单元格的宽度。我建议您阅读以下链接以使用表格。希望这对您有所帮助。

使用表格

如果您仍然遇到问题,请分享您的输入和预期输出文档。我将根据您的预期文件分享代码。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Font.Name = "Calibri";
builder.CellFormat.LeftPadding = 0;
builder.CellFormat.RightPadding = 0;
builder.CellFormat.TopPadding = 0;
builder.CellFormat.BottomPadding = 0;

Table table = builder.StartTable();

// Insert a cell
builder.InsertCell();
builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(33);

//Insert inner table
Table table1 = builder.StartTable();
builder.InsertCell();
table1.Alignment = TableAlignment.Left;
table1.PreferredWidth = PreferredWidth.FromPercent(50);

builder.Write("This is cell 1");
builder.EndRow();
builder.EndTable();

// Insert a cell
builder.InsertCell();
//Insert inner table
Table table2 = builder.StartTable();
builder.InsertCell();
table2.Alignment = TableAlignment.Center;
table2.PreferredWidth = PreferredWidth.FromPercent(50);
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
builder.Write("This is cell 2");
builder.EndRow();
builder.EndTable();

// Insert a cell
builder.InsertCell();
builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(33);

//Insert inner table
Table table3 = builder.StartTable();
builder.InsertCell();
table3.PreferredWidth = PreferredWidth.FromPercent(50);
table3.Alignment = TableAlignment.Right;
builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;
builder.Write("This is cell 3");
builder.EndRow();
builder.EndTable();

builder.EndRow();
builder.EndTable();

doc.Save(MyDir + "Out.docx");

我与 Aspose 合作,担任开发人员传道者。

于 2016-01-18T16:40:13.777 回答