Is there a .net api that can do this? I saw Pandoc has a standalone exe that I could wrap but I'd rather not if there is something already out there. Any suggestions?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Here's the code I used to wrap pandoc. I haven't seen any other decent methods so far unfortunately.
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:
I have created a library Html2Markdown. Usage is very simple.
var markdown = new Converter().Convert(html);
Where html
is the string representation of the HTML you wish to convert. I actively support it and happily accept contributions.