将Html或RTF转换为Markdown或Wiki兼容语法?

Rob*_*Rob 17 .net c# api markdown

是否有.net api可以做到这一点?我看到Pandoc有一个我可以包装的独立exe,但是如果那里已经存在某些东西,我宁愿不要.有什么建议?

Rob*_*Rob 25

这是我用来包装pandoc的代码.到目前为止,我还没有看到任何其他不错的方法.

public string Convert(string source)
{
    string processName = @"C:\Program Files\Pandoc\bin\pandoc.exe";
    string args = String.Format(@"-r html -t mediawiki");

    ProcessStartInfo psi = new ProcessStartInfo(processName, args);

    psi.RedirectStandardOutput = true;
    psi.RedirectStandardInput = true;

    Process p = new Process();
    p.StartInfo = psi;
    psi.UseShellExecute = false;
    p.Start();

    string outputString = "";
    byte[] inputBuffer = Encoding.UTF8.GetBytes(source);
    p.StandardInput.BaseStream.Write(inputBuffer, 0, inputBuffer.Length);
    p.StandardInput.Close();

    p.WaitForExit(2000);
    using (System.IO.StreamReader sr = new System.IO.StreamReader(
                                           p.StandardOutput.BaseStream))
    {

        outputString = sr.ReadToEnd();
    }

    return outputString;
}
Run Code Online (Sandbox Code Playgroud)

  • 两个小的变化:"ASCIIEncoding.UTF8"应该是"Encoding.UTF8",你可以用"p.WaitForExit(2000)"替换"Thread.Sleep(2000)",如果进程提前退出,它将更快返回. (9认同)

bay*_*ezy 8

我创建了一个库Html2Markdown.用法很简单.

var markdown = new Converter().Convert(html);
Run Code Online (Sandbox Code Playgroud)

html您要转换的HTML的字符串表示形式在哪里.我积极支持它,并乐意接受贡献.