如何删除超链接及表格

问题1 :如何删除doc文件中的超链接,或者在遍历段落的时候不生成乱码( REF _Ref469933876 \r \h * MERGEFORMAT 6.1.)
问题2:在遍历Iterable paragraphs = doc.getChildNodes(NodeType.PARAGRAPH, true)时,为什么会遍历到表格数据,并且会生成乱码。
如何在遍历段落时跳过表格,或者在遍历之前删除所有表格

@sunhale

  1. 您可以使用以下代码来取消链接超链接:
Document doc = new Document("C:\\Temp\\in.docx");

// Get the table.
Table t = doc.getFirstSection().getBody().getTables().get(0);
// Unlink hyperlinks.
for (Field f : t.getRange().getFields())
{
    if (f.getType() == FieldType.FIELD_HYPERLINK)
        f.unlink();
}

doc.save("C:\\Temp\\out.docx");
  1. 表格中的内容也用段落表示。 请参阅我们的文档以了解有关 Aspose.Words 文档对象模型的更多信息:
    https://docs.aspose.com/words/java/aspose-words-document-object-model/
    您可以使用以下代码在循环段落时跳过表格:
Document doc = new Document("C:\\Temp\\in.docx");

// Get all paragraphs int he document.
Iterable<Paragraph> paragraphs = doc.getChildNodes(NodeType.PARAGRAPH, true);
for (Paragraph p : paragraphs)
{
    // Check whether paragraph is in table.
    if (p.getAncestor(NodeType.TABLE) != null)
        continue;

    // Process paragraphs that are not in the table. 
}

A post was merged into an existing topic: 我怎么给段落指定内容添加背影颜色。

在遍历时遇到超链接字段依然会生成乱码

另外,应该如何在遍历时跳过目录呢

A post was merged into an existing topic: 我怎么给段落指定内容添加背影颜色。

@sunhale 您看到的丢失字形是字段字符:字段开始、分隔符和结束。 您很可能正在使用 Node.GetText 方法。 请尝试使用 Node.ToString 方法并传递 SaveFormat.Text。

不幸的是,目前还不太清楚你的意思。 您能否详细说明您的要求并提供我们的输入文档和预期输出。