Word Interop 中的 C# 行间距

标签 c# ms-word office-interop

我正在尝试创建一个 Word 文档,其中行间距设置为“无间距”或单倍间距。老实说,我不知道为什么这么难。

我已经尝试了所有这些例子,但没有成功:

Paragraph para1 = document.Content.Paragraphs.Add(ref missing);
para1.LineSpacingRule = WdLineSpacing.wdLineSpaceExactly ;
para1.LineSpacing = 1;
para1.Format.SpaceBefore = 5;
para1.Format.SpaceAfter = 0;
para1.Range.Font.Name = "Times New Roman";
para1.Range.Font.Size = 12;
para1.Range.Text = "Mr. John Doe" + Environment.NewLine + "Address" + Environment.NewLine + "Anytown, AnyCity  12345";

Paragraph para1 = document.Content.Paragraphs.Add(ref missing);
para1.LineSpacingRule = WdLineSpacing.wdLineSpaceSingle ;
para1.Format.SpaceBefore = 5;
para1.Format.SpaceAfter = 0;
para1.Range.Font.Name = "Times New Roman";
para1.Range.Font.Size = 12;
para1.Range.Text = "Mr. John Doe" + Environment.NewLine + "Address" + Environment.NewLine + "Anytown, AnyCity  12345";

Paragraph para1 = document.Content.Paragraphs.Add(ref missing);
para1.LineSpacingRule = <tried them all> ;
para1.Format.SpaceBefore = 5;
para1.Format.SpaceAfter = 0;
para1.Range.Font.Name = "Times New Roman";
para1.Range.Font.Size = 12;
para1.Range.Text = "Mr. John Doe\rAddress\rAnytown, AnyCity  12345";

Paragraph para1 = document.Content.Paragraphs.Add(ref missing);
para1.LineSpacingRule = <tried them all> ;
para1.Format.SpaceBefore = 5;
para1.Format.SpaceAfter = 0;
para1.Range.Font.Name = "Times New Roman";
para1.Range.Font.Size = 12;
para1.Range.Text = "Mr. John Doe\rnAddress\rnAnytown, AnyCity  12345";

我显然遗漏了一些东西,因为每个例子都完全相同。地址的每行之间有额外的间距。

有人知道如何实现这个功能吗?

最佳答案

丹尼尔·A·怀特来救援!

使用This question ,答案是使用“垂直制表符”。直到现在我才听说过他们。

因此,将“\r\n”替换为“\v”效果非常好。

    Paragraph para1 = document.Content.Paragraphs.Add(ref missing);
para1.Range.Font.Name = "Times New Roman";
para1.Range.Font.Size = 12;
para1.Range.Text = "Mr. John Doe\vAddress\vAnytown, AnyCity  12345";

关于Word Interop 中的 C# 行间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48769643/

相关文章:

ms-word - 驯服 MS Word 语言偏好

c# - 将 DOC 转换为 PNG 时出现问题

c# - Word C# 中的只读合并字段

c# - 使用 LINQ Average() 方法处理空结果

c# - 在运行存储过程 C# 之前检查文本框或日期选择器是否已更改

通过自定义按钮运行宏时出现 VBA 错误 'Wrong number of arguments or invalid property assignments'

c# - 从 c# 应用程序使用插件启动 excel 应用程序

c# - 首先使用 ASP.NET MVC 4 迁移代码的foreignkey

c# - 如何在不重复 if/else 代码的情况下使用 ASP.NET Core 基于资源的授权

c# - 如何使用 OpenXml Wordprocessing 在表格中为每个新页面创建标题