【问题标题】:Converting doc to txt and also convert the entities using c#?将 doc 转换为 txt 并使用 c# 转换实体?
【发布时间】:2018-05-06 14:19:32
【问题描述】:

如何转换带有 UTF-8 实体字符的 doc 文件并自动将实体转换为其正确的十六进制 NCR 序列(例如 ꯍ

以下是 doc 文件中的示例文本:

Isto é um teste. Eu não me importo com o que você pensa.
Você acha que me conhece muito bem.

将其转换为 txt 文件后,输出应为:

Isto é um teste. Eu não me importo com o que você pensa.
Você acha que me conhece muito bem.

我做到了。

Document document = new Document();

    string docPath = @"C:\Users\Tamal\Desktop";
    document.LoadFromFile(Path.Combine(docPath,"op.docx"));
    document.SaveToFile(Path.Combine(docPath,"op.txt"), FileFormat.Txt);

    string readText = File.ReadAllText(Path.Combine(docPath,"op.txt"));
    System.Diagnostics.Process.Start(Path.Combine(docPath,"op.txt"));
    Console.ReadLine();

但这会将文本文件输出为(与 doc 文件完全相同):

Isto é um teste. Eu não me importo com o que você pensa.
Você acha que me conhece muito bem.

如何以及在哪里添加实体十六进制转换?

注意:我正在使用 Spire.Doc 将 doc 转换为 txt。

【问题讨论】:

    标签: c# spire.doc


    【解决方案1】:

    通过 System.Net.WebUtility.HtmlEncode(string) 运行你的字符串

    【讨论】:

    • 我把最后两行代码换成了string readText = File.ReadAllText(Path.Combine(docPath,"op.txt")); System.Net.WebUtility.HtmlEncode(readText); File.WriteAllText(Path.Combine(docPath,"op.txt"),readText); System.Diagnostics.Process.Start(Path.Combine(docPath,"op.txt"));,但是什么都没做?
    • 类似string encodedString = System.Net.WebUtility.HtmlEncode(readText);
    • 但输出显示 Isto é um teste. Eu não me importo com o que você pensa. Você acha que me conhece muito bem. 这是不同的编码
    • 它们应该是等价的。如果您需要十六进制编码,则需要更多工作。看看这里。 stackoverflow.com/questions/4663538/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    • 1970-01-01
    • 1970-01-01
    • 2016-03-10
    • 1970-01-01
    • 2010-12-06
    • 2011-06-21
    相关资源
    最近更新 更多