2011-05-07 4 views
6

다른 게시물을 HTML to RTF Converter for .NET에 Theres하지만 오픈 소스 변환기 또는 튜토리얼이 있습니까? Sautinsoft을 사용하고 싶지 않습니다. 나는 ExpertsExchange에 해결책이 있다고 생각하지만, 나는 그것을 지불해야만한다. 대부분의 검색 결과는 RTF 형식의 HTML 변환기를 가리키며, HTML 형식의 RTF 변환기는 아닙니다.RTF로 HTML을 변환하는 C# .net

답변

3

ExpertsExchange 문서는 좋지 않은 문서입니다. 기본적으로 OP는 좋은 대답을 줄 수 없기 때문에 포기했습니다. 그들은 HTML을 RTF로 변환하는 방법을 보여주는 CodeProject 기사 (http://www.codeproject.com/KB/HTML/XHTML2RTF.aspx)에 대한 링크를 나열하지만 실제로 .NET 솔루션은 아닙니다. 대신, 그것은 고도로 적응 될 필요가있는 무언가 일 것입니다.

내 경험에 의하면, 거기에 좋은 오픈 소스 변환기가 없습니다. 그 조각들은 모두 거기에있는 것처럼 보이지만, 누군가가 그것을 함께 모으는 일을하기를 기다리고 있습니다. 그러나 귀하의 질문에 대한 즉각적인 대답은 이미 변환기가 없다는 것입니다.

+2

나는이 학습 경험을 겪었으며, 선반, OSS, 솔루션에 도움이되는 PERL을 사용하기로했다. (HTML :: FormatRTF) –

+0

@ Jason D - 알아두면 좋을 것. – IAmTimCorey

12

웹 브라우저를 만듭니다. HTML 컨텐트로로드하십시오. 모두 선택하고 복사하십시오. richtextbox에 붙여 넣습니다. 그럼 당신은

string html="...."; // html content 
RichTextBox rtbTemp= new RichTextBox(); 
WebBrowser wb = new WebBrowser(); 
wb.Navigate("about:blank"); 

wb.Document.Write(html); 
wb.Document.ExecCommand("SelectAll", false, null); 
wb.Document.ExecCommand("Copy", false, null); 

rtbTemp.SelectAll(); 
rtbTemp.Paste(); 

이제 rtbTemp.RTF는 HTML에서 변환 된 RTF이있는 RTF에게 있습니다.

+0

매우 제한적입니다. 하이퍼 링크 나 이미지에서는 작동하지 않습니다. – frenchone

+0

@frenchone 이러한 경우 Word interop을 사용하고 Word 문서에 붙여 넣기를 시뮬레이트 한 다음 richtextbox에 복사하여 붙여 넣은 다음 rtf를 가져올 수 있습니다. – Jerry

+0

귀하의 의견에 감사드립니다하지만 우리는 "MS 오피스"종속성을 제거하려고합니다. winform 참조가 필요한 경우에도 솔루션이 간단 해 보입니다 (프로젝트는 consoel입니다). 너무 나쁜 변환을 할 전용 system.dll이 없다. 그리고 그 richtextbox는 변환 권한을 얻는 워드 패드처럼 행동하지 않습니다. – frenchone

관련 문제