1

我想使用 DocX 库 [ https://docx.codeplex.com/]将 .docx 文档转换为使用不同的字体。有人知道该怎么做吗?示例项目非常空闲,文档也不存在。

我也发现文档中经常有多余的空格,我想遍历所有这些直到没有两个连续的空格。我想我可以循环执行此操作,将“”(2 个空格)替换为“”(1 个空格),直到不再找到“”(2 个空格)。

但是,我还想删除在将文本复制并粘贴到文档中时有时会出现的多余换行符。我可以“手动”完成(在 Libre Office 中,不确定在 MS Word 中是如何完成的),因为我得到了这个问题的答案:(选择“正则表达式”,然后将“$”(不带引号)替换为空间)

...但是如何以编程方式使用 DocX?

此外,在某些情况下,我想添加换行符/“段落返回”,其中一个段落的结尾和另一个段落的开头之间有合法的换行符,但没有额外的行来在视觉上分隔它们。据此:_

...我可以通过搜索“$”并将其替换为“\n\n”来将段落/换行符添加到合法换行符

这也确实有效(手动,在 Libre Office 中);但又一次......如何用 DocX 库做到这一点?

4

1 回答 1

1

您正在使用的 DocX 库的当前版本似乎并非所有这些都是可能的。如果它没有在文档中公开,那么这些功能也可能不存在,并且您不应该使用未记录的功能。

但是,有一个更成熟的库可用,称为“Open XML SDK”,它可以满足您的所有需求。

更改字体的正确方法,无论是使用文档编辑器,还是编写程序来操作这些文件,都是更改相应文本的样式属性,或更改使用中的样式定义。

您永远不应该直接更改任何文本的字体。就个人而言,我认为“字体类型”和“字体大小”菜单应该完全从 word/libreoffice/etc 中删除,并且只能在“更改样式属性”对话框中访问;直接应用字体的唯一原因是,如果您实际上提供了正在讨论的特定字体的示例!

请参阅如何:替换MSDN 文档中的文字处理文档 (Open XML SDK) 中的样式部分,了解其工作方式。

要搜索和替换文本,适用的 MSDN 页面是How to: Search and replace text in a document part (Open XML SDK)。对于用单个空格专门替换多个空格,Google 上有许多结果至少在某种程度上都应该有效。

于 2014-01-08T17:30:00.643 回答