2011-01-12 2 views
3

나는 임베디드 이미지가 포함 된 RTF 파일을 HTML 파일 및 이미지 파일 또는 더 나은 HTML 및 이미지 스트림으로 변환 할 수있는 무료 (가능하면 오픈 소스) 구성 요소 또는 라이브러리를 찾으려고했습니다.Delphi에서 RichText (RTF) 문서를 HTML로 변환하는 방법은 무엇입니까?

DLL 라이브러리 또는 Delphi 구성 요소와 상관없이 완벽한 솔루션은 콜백을 사용하여 IStream/TStream으로 데이터를 스트리밍 할 수 있으므로 이미지를 상대 이미지 파일로 반환하는 형식으로 변환하고 저장할 수 있습니다. 생성 된 HTML 파일에 포함 할 RTF 파서의 이름입니다. 아직 코드를 오픈 소스로 사용하는 경우에는 그대로 저장하는 것이 좋습니다.

한 문서 유형을 다른 문서 형식으로 쉽게 변환 할 수있는 가격이 매우 높고 두 형식 모두 20 년 전으로 기존 라이브러리가 있어야한다고 제안하기 때문에 상용 솔루션을 보았습니다. , 관리되지 않음).

해결 방법을 찾지 못하면 this 코드를 Delphi dll로 변환하여 사용 가능하게 만들었지 만 누군가 이미 사용했을 가능성이 있습니까?

편집 : 우리는 (설치에 포함) 닷넷 프레임 워크를 설치, DLL로 컴파일 닷넷 RtfConverter 전술 사용이 힘 고객에서 델파이 TLB 유닛을 생성하기로 결정했습니다

. 이제 전환은 매력처럼 작동합니다. 델파이에서 .Net으로 이동하는 또 다른 사인 ...

+1

RTF spec은 단순하지 않으며 변환은 보이는 것처럼 간단하지 않습니다. 실제 RTF 문서는 굵은 글씨와 기울임 꼴로 간단한 텍스트 조각보다 복잡합니다. 유니 코드 및 현지화, 여러 글꼴 및 CSS, 머리말과 꼬리말, 단락 서식 및 표 및 중첩 테이블 등을 고려하십시오. RTF를 HTML로 변환하는 상용 소프트웨어 도구를 제외하고 모든 기능이 비용을 청구하는 것은 아닙니다. 나는 하나도 쓰지 않았지만 $ 499의 비용을 사용했으며 이제는 관리 코드 버전 (100 % C#)에서 사용할 수 있습니다. – Tim

+0

아마도 이러한 변환에 대한 간단한 설명이 올바르지 않을 수 있지만 RTF 태그 목록은 매우 제한적이며 Windows와 Delphi는 모두 국제 문자를 처리 할 수있는 기능을 갖추고 있습니다. < and > 문자를 이스케이프 처리하여 유니 코드로 HTML 파일을 저장하는 것도 고려할 수 있습니다. 내가 언급 한 라이브러리는 응용 프로그램 종속성을 가능한 한 낮게 유지하지 않으려는 관리 C# 코드의 작업 솔루션입니다. – too

+0

상업용 RTF - HTML 변환기 가격은 전체 델파이 소스 코드 – mjn

답변

3

Microsoft Office를 사용하여 RTF를 열고 배경으로 HTML로 저장할 수 있다면 다음과 같이 생각합니다. 최상의 솔루션입니다. OLE를 사용하여 백그라운드에서 Microsoft Word 인스턴스를 실행하고 RTF를로드 한 다음 HTML로 내 보냅니다. ...

+2

불행히도 이것은 기계에 몇 백 USD/GBP/...의 가치가있는 상용 제품이 있어야합니다. – too

+0

나는 이것에 110 % 동의하지만 대부분의 사용자는 Office를 설치하는 경향이 있습니다. 따라서 대상이 특정 클라이언트이고 Office 제품군을 사용하고 있다면이 도구를 사용하는 것이 좋습니다. 그렇지 않으면 더 많이 검색하고 직접 구현해야합니다. ... – ComputerSaysNo

+0

.. 그리고 나서 두 가지 문제가 있습니다. –

3

RTF에서 HTML 4.01/HTML5 및 RTF로 XHTML ScroogeXHTML for Delphi입니다. 버전 5.0에는 개선 된 그림 지원이 포함되어 있으며 WMF에서 PNG 로의 변환을위한 예제 코드가 포함되어 있습니다. (저는이 구성 요소의 개발자이고 자바 플랫폼의 구성 요소입니다).

+0

링크를 가져 주셔서 감사합니다. ScroogeXHTML의 대체로 의심스러워 보이는 유망한 무료 솔루션을 기다릴 것입니다. 테이블 /리스트 지원을 포함시킬 계획이 있습니까? – too

+0

단순 번호 매기기 및 번호 매기기 목록이 지원되지만 테이블은 내부 중간 문서 표현에 적합하지 않으며 중요한 재 설계가 필요합니다 (고려 중) – mjn

-1

P .:이 제품의 개발자입니다.

상업용. 닷넷 라이브러리는 convert RTF to HTML 3.2, 4.01, XHTML 1.01 and HTML 5입니다. 그것은

등 HTML, 유니 코드, 특수 HTML 기호에 임베디드 테이블과 중첩 테이블, 주문 및 글 머리 기호 목록, 이미지 변환

지원

이 C#에서 샘플 코드입니다 :

 SautinSoft.RtfToHtml r = new SautinSoft.RtfToHtml(); 
     r.OutputFormat = SautinSoft.RtfToHtml.eOutputFormat.HTML_5; 
     r.ImageStyle.IncludeImageInHtml = true; 
     r.ConvertFile(@"d:\document.rtf",@"d:\html5.htm"); 
관련 문제