Преобразовать Html или RTF в синтаксис Markdown или Wiki Compatible?

Есть ли .net api, который может это сделать? Я видел, что Pandoc имеет автономный exe, который я мог бы обернуть, но я бы предпочел, если что-то уже есть. Какие-либо предложения?

Ответы

Ответ 1

Здесь код, который я использовал для обертывания 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;
}

Ответ 2

Я создал библиотеку Html2Markdown. Использование очень просто.

var markdown = new Converter().Convert(html);

Где html - строковое представление HTML, которое вы хотите преобразовать. Я активно поддерживаю его и с радостью принимаю вклады.