File.WriteAllLines编码

时间:2017-11-06 09:46:51

标签: c# encoding html-to-pdf system.io.file

我制作了一个html to pdf转换器,但是当我用File.WriteAllLines()将文本写入文件时,我得到了奇怪的符号。

这是我目前使用的代码:

Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();

Document doc = app.Documents.Open(FileName: @"C:\Users\krisb\Documents\NewHeapTemplate.docx", ReadOnly: false);
app.Selection.Find.Execute("<Index>");
app.Selection.TypeText("<h1>New Heap</h1>");

doc.SaveAs2(@"C:\Users\krisb\Documents\voorbeeld2.html", FileFormat: WdSaveFormat.wdFormatWebArchive);
doc.Close();

string[] lines = File.ReadAllLines(@"C:\Users\krisb\Documents\voorbeeld2.html");

for (int i = 0; i < lines.Length; i++)
{
    if (lines[i].Contains("&lt;"))
    {
        lines[i] = lines[i].Replace("&lt;", "<");
    }
    if (lines[i].Contains("&gt;"))
    {
        lines[i] = lines[i].Replace("&gt;", ">");
        Console.WriteLine(lines[i]);
    }
}

File.WriteAllLines(@"C:\Users\krisb\Documents\voorbeeld2.html", lines, Encoding.UTF8);

Document doc2 = app.Documents.Open(FileName: @"C:\Users\krisb\Documents\voorbeeld2.html", ReadOnly: false);
doc2.SaveAs2(@"C:\Users\krisb\Documents\kristemplate.pdf", FileFormat: WdSaveFormat.wdFormatPDF);
doc2.Close();
app.Quit();

在我的pdf中,我得到了所有那些奇怪的符号:

�������

我通过编写和编码知道这个问题,但我不知道如何解决这个问题。 有人知道解决方案吗?

0 个答案:

没有答案