2011-05-25 18 views

cevap

23

pandoc'u sarmak için kullandığım kod. Maalesef şu ana kadar başka iyi yöntemler görmedim.

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; 
} 
+9

İki küçük değişiklik: "ASCIIEncoding.UTF8", "Encoding.UTF8" olmalı ve "Thread.Sleep (2000)" yerine "p.WaitForExit (2000)" ile değiştirebilir, bu işlem işlemden çıkarsa daha erken dönecektir. Er. –

4

Kitaplık oluşturdum Html2Markdown. Kullanımı çok basit. html

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

dönüştürmek istediğiniz HTML dize temsilidir. Aktif olarak destekliyorum ve katkıları memnuniyetle kabul ediyorum.

İlgili konular