如何使用DocX.dll在同一行中添加两个段落?

时间:2015-12-09 09:15:25

标签: c# ms-word docx

我想知道我是否可以使用docX.dll在同一行中添加2个段落。例如,我希望我的文档看起来像这样:

MS WORD DOCUMENT:

Name and surname: AAA BBB_________Age:DD

Date of birth: aa.bb.cc.__________Nationality: ABC

_表示间距,因为我无法使用空格键。 带有b和c的单词是添加的单词,所以我想制作这样的间距,这对于添加了各种长度的单词来说是相同的。

2 个答案:

答案 0 :(得分:0)

可以隐藏段落标记以便将两个段落放在同一行上,但这绝对不是满足您要求的最佳方式。

假设我正确地遵循了你的要求,那么你和斯蒂芬在使用TAB字符并且为段落定义的TAB停止时走在正确的轨道上。可以使用左对齐,中间对齐或右对齐来定义制表位,因此您需要使用右对齐的制表位(可能位于右边距)。

您可以通过单击需要间距的段落在Word UI中对此进行测试。将光标放在标尺左侧的按钮上("页面"上方)。单击它两次,它将从左对齐(默认)更改为中心对齐到右对齐。现在将光标放在标尺上文本应正确对齐的位置(可能是右边距?)。单击一次。如果文本中还没有TAB字符,请插入它,您应该在TAB跳转到标签位置后看到文本。

而且,正如斯蒂芬所说,"最佳实践"是使用样式将此格式应用于应具有此"间距"的段落。

此方法的替代方法是使用双列表。这样做的优点是文本较长,可以分解为新行并仍然正确对齐。

答案 1 :(得分:0)

我设法通过使用表来解决这个问题。这是我的表格代码:

Table t = document.AddTable(2, 4); // rows and columns - 2 and 4
t.Alignment = Alignment.center;
Border b = new Border(Novacode.BorderStyle.Tcbs_none, BorderSize.one, 1, Color.White);
t.SetBorder(TableBorderType.Bottom, b);
t.SetBorder(TableBorderType.Left, b);
t.SetBorder(TableBorderType.Right, b);
t.SetBorder(TableBorderType.Top, b);
t.SetBorder(TableBorderType.InsideH, b);
t.SetBorder(TableBorderType.InsideV, b);

向表中添加值的示例:

t.Rows[0].Cells[0].Paragraphs.First().Append("AAA BBB:_____________");