2013-10-07 1 views
0

RTF Writer library을 사용하여 RTF 문서를 생성하고 있습니다. 내 요구 사항의 대부분을 충족시키기 위해 이미지, 표 및 텍스트를 추가 할 수 있습니다..Net RTF Writer : 사전 형식이 지정된 RTF 텍스트를 추가하려면 어떻게해야합니까?

그러나 이미 RTF 형식의 텍스트를 추가하고 싶습니다. 이 테스트는 서식을 유지하면서 추가해야합니다. 즉, 추가하기 전에 먼저 일반 텍스트로 변환하고 싶지 않습니다.

현재 서식이 지정된 RTF에는 모든 문서 정보가 포함되어 있지만 RichTextBox를 사용하여 해당 부분 만 제거하여 문서의 관련 부분 만 유지되도록 할 수 있습니다. 이것은 생성 된 문서에 추가하고 싶은 부분입니다.

{\rtf1\ansi\ansicpg1252\deff0\deflang2057{\fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}} 
\uc1\pard\f0\fs17 here is some RTF} 

일반적으로, 우리는 다음과 같은 작업을 수행 할 수 닷넷 RTF 작가를 사용하여 텍스트를 추가합니다 :

var par = doc.addParagraph(); 
par.setText("Here is some text"); 

인가 뭔가를 여기

는 미리 포맷 RTF 텍스트의 예입니다 미리 형식이 지정된 RTF 텍스트를 추가 할 수 있도록 이것을 변경할 수 있습니까?


사이드 참고 :이 가능하지 않은 경우, 나는 나에게 내가 무엇을해야 할 수 있습니다 대체 라이브러리 (상업적 사용)에 대한 제안에 열려입니다. 분명히 이것들에 대한 어떤 제안이라도 대답보다는 코멘트로서 더 적합하다.

+0

미묘한 RTF가 아니라 기본 코드 페이지, 기본 언어를 설정하고 글꼴 테이블을 설정합니다. RTF의 나머지 부분이 표시되는 방식에 큰 영향을 미칩니다. "RTF 작성자"가 이미이 작업을 수행하므로 추가가 필요하지 않습니다. –

+0

@HansPassant : 실제로 RichTextBox에서 그 내용을 가져올 수 있습니다. 내용을 다듬을 수는 있지만 문서에 추가 할 수는 없습니다. 일종의 자리 표시자를 사용하고 파일을 만든 후에 수동으로 쓸 수 있다고 가정합니다.하지만 더 이상 번거 로움이 있습니다. – musefan

+0

그런 다음 실제 형식을 신경 쓰지 않는 것 같습니다. 그냥'파.setText (richTextBox1.Text); ' – LarsTech

답변

1

RTF 작성기 라이브러리를 사용할 수없는 것처럼 보입니다. 그것은, 다른 RTF 데이터를 로딩, 구문 분석 또는 병합에 대한 지원을하지 않는 것 같습니다.


가치가있는 부분에 대해서는 제 요구 사항이 변경되어 더 이상 필요하지 않습니다. 그러나, 나는 내 자신의 RTF 파서 및 병합 도구를 만들기 직전이었다. RTF 병합은 RTF 형식이 스타일을 처리하는 방식 때문에 복사/붙여 넣기만큼 간단하지 않습니다. 글꼴 및 색상과 같은 스타일은 헤더 테이블에 정의되어 병합이 더욱 복잡해집니다.

무언가를 직접 시험해보고 싶은 사람은 Here, herehere과 같은 유용한 정보를 찾을 수 있습니다.

0

새 richtextbox를 만들고 기존 문서와 미리 서식이 지정된 텍스트를 복사하여 붙여 넣을 수 있습니다.

+0

실제로 이것을 시도했습니다. 라이브러리가 생성하는 RTF가 RichTextBox에 잘 들어 가지 않습니다. 이미지와 테이블 형식이 엉망입니다. 그것이 작동하는 유일한 방법은 RichTxtBox를 사용하여 주 문서를 만드는 것이지만 RTB로 직접 테이블과 이미지를 생성하려고하면 특정 서식이 약간 어색한 것으로 판명났습니다. – musefan

0

다른 접근법이 있습니다. HTML (및 CSS, 필요한 경우)을 생성하고 PD4ML.NET을 사용하여 RTF로 변환합니다. HTML 코드는 RTF 마크 업보다 혼동이 적어야합니다.

HTML 템플릿 (로고, 바닥 글 등)을 만들고 동적 데이터로 코드에서 채우는 것이 좋습니다. 이 경우 전체 문서 레이아웃을 프로그래밍 할 필요가 없으며 레이아웃 조정이 훨씬 간단 해집니다.

관련 문제