问题标签 [wordprocessingml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
291 浏览

java - XWPFRun 生成运行并修剪空格

我开发了一个 Java 代码,它替换模板中的一些字符串模式,然后使用 Apache POI 生成一个输出 docx 文件。替换标题和段落中的模式很容易,但是在尝试替换文本框内时遇到了问题。我正在使用 Axel Ritcher 在Replace text in text box of docx by using Apache POI 中提供的代码,但问题是它在每次运行时都会修剪一些空白。

例如:

变成:

负责做这个替换的部分代码是这样的(函数的参数是:doc_buffer是一个XWPFDocument,pattern和replacement都是Strings):

如果您需要任何其他信息,请告诉我。

提前致谢!

0 投票
1 回答
210 浏览

ms-word - 将 OpenXML SDK 中的段落与 Word 文档中的互操作段落匹配

当我尝试解析超过 100 页的文档中的文本时,Word 互操作速度非常慢。我重新编写了代码以使用速度更快的 OpenXML SDK。我的问题是,一旦我在 OpenXML 文档中找到信息,我必须在 Word 文档中找到它并将主窗口滚动到它。为了实现这一点,我必须以某种方式将 OpenXML 段落与互操作段落匹配。我认为互操作段落与 openxml 段落完美匹配,但我错了。事实上,互操作通常比 OpenXML 有更多的段落。有什么技巧或某种信息可以帮助我匹配它们吗?例如,我发现通常互操作在表中的每一行之后还有 1 个空段落。所以我可能会使用这些信息并记住它,

更新

下面是我创建的简单加载项的屏幕截图,用于演示 Word 文档中的 interop 和 openxml 段落之间的区别,内容如下:

MS Word 文档样本 然后加载项检索互操作段落列表和 OpenXML 段落列表并并排显示它们:

并排比较

下面是我使用的代码:

0 投票
1 回答
487 浏览

c# - 删除单元格边框后不可读的 Word 文档 (OpenXml.Wordprocessing)

创建TableCellProperties并删除 后TableCellBorders,word 文档变得不可读,我得到:

Word 在 test.docx 中发现不可读的内容。是否要恢复此文档的内容?如果您信任此文档的来源,请单击是。

我使用的代码:

BorderValue设置为,Nil因为None似乎没有删除边框。在 MS Word 自动恢复过程之后,文件很好。什么会导致这样的问题?

0 投票
1 回答
1345 浏览

c# - 如何使用 OpenXML 突出显示句子中的文本?

我正在使用下面的代码来搜索和突出显示 MS Word 文档中的文本,它适用于第 1 点但不适用于第 2 点:

我搜索Alteror John,它突出显示John/ Alter- 有效。

我搜索going,它突出显示going但它改变了它的顺序I am to school going- 不起作用。

如何解决第 2 点?下面是我的代码。

0 投票
1 回答
706 浏览

c# - 某些部分的 OpenXML Landscape

您如何将某些部分(我应该使用哪种类型的部分?)设置为横向或纵向?

我正在尝试创建具有以下部分属性的部分(请参见下面的代码),然后将该部分分别设置为横向或纵向。但是,当我使用此代码并创建中断段落时,代码会横向生成一个空白页。

0 投票
1 回答
514 浏览

c# - WordprocessingDocument:如何替换包含在一组特殊字符中的特定文本?

我需要基于一个模板生成几个word文档。在每个文档中都需要替换某些字符串(所有字符串都包含在一对花括号中,以便轻松区分它们)。

我试过了 :

** 阅读整个模板并使用 Regex.Replace 替换所有出现的单词

** 并且还可以访问每个 Text 元素

但上述解决方案均无效,因为在 .docx 文件中,所有这些大括号都存储在不同的文本元素 ( <w:t>) 中:

有什么方法可以使用特殊字符在模板中标记变量,以便我可以轻松找到并替换它们?

0 投票
0 回答
140 浏览

c# - 如何在 ac# 类中以编程方式知道打开的 .docx 文件是“严格的”还是“过渡的”

由于 .docx 文件有两种变体:“严格”或“过渡”。是否有一种编程方式来识别这些 .docx 文件的变体?

我有 MS Office Word 的加载项,我只需要允许“过渡”和“严格”不允许/错误。

到目前为止,我试图获得wordprocessingDocument.MainDocumentPart.Document.Conformance,但仅从一致性获得 null,即使我不确定它是否是一种理想的方法......

0 投票
1 回答
375 浏览

java - 如何从 docx4j 运行中简洁地提取文本?

我想document.xml从 DOCX 文件中使用 docx4j 从运行中提取文本,如下所示:

我提取了运行,现在我想获取每次运行的文本。下面的代码有效,但非常冗长。是否可以以更简洁的方式获取 org.docx4j.wml.R 实例的文本?

虽然存在“R::getContent”和“R::getRPr”,但我想知道为什么文本文档中不存在“R::getText”。

0 投票
1 回答
371 浏览

python - 如何检查 BeautifulSoup 标签是否是某个标签?

如果我使用以下命令找到某个标签beautifulsoup

我看下一个标签。如果它是标签,我只想使用该<w:t>标签。如何检查下一个标签是什么类型的标签?

我尝试element.find_next_sibling().startswith('<w:t')了该元素,但它说NoneType object is not callable。我也试过element.find_next_sibling().find_all('<w:t'>),但它没有返回任何东西。

我正在使用beautifulsoup并希望坚持使用它,eTree如果可能的话,不要使用 bs4 添加或其他解析器。

0 投票
1 回答
545 浏览

c# - 在 UWP 中使用 OPEN-XML SDK 生成 Doc 文件

我想在我的 UWP 应用程序中创建一个 Microsoft Word 文档,并且我已经成功地在 APP Local 文件夹中创建了 doc 文件。但我想在用户选择的特定文件夹位置创建这个 doc 文件。

我的意思是用户浏览一个位置,然后在该位置创建 doc 文件。

这是我在 App 本地路径中创建 Doc 文件的代码:

尝试在特定位置创建 doc 文件时出现以下错误,如下所示:

错误

Message=媒体写保护:'D:\Training\TestDoc.docx'

代码