2009-06-03 5 views
1

현재 동료와 함께 응용 프로그램을 작성 중입니다. 사용자가 텍스트를 입력하고 관리 할 수있는 웹 양식을 작성 중입니다. 이는 데이터베이스에 저장되고 데스크탑 응용 프로그램 내에 표시됩니다.웹 응용 프로그램에서 서식있는 텍스트를 저장하고 서식있는 텍스트 상자에 표시하는 방법

데이터베이스의 텍스트를 표시하기 위해 서식있는 텍스트 상자를 사용하고 있습니다. 사용자가 웹 앱에서 기본 서식 (굵게, 기울임 꼴, 밑줄)을 사용하고 데스크톱 응용 프로그램에 해당 서식을 표시 할 수있게하려고합니다.

웹 양식 (예 : [b] 등)에 입력 할 수있는 태그가 있거나 RTB에 자동으로 서식이 표시되는지 궁금합니다.

이것이 가능하지 않은 경우이 기능을 구현하는 가장 좋은 방법은 무엇입니까?

데스크톱 응용 프로그램에 C# Windows 양식을 사용하고 있습니다.

업데이트 : 웹 양식은 PHP로되어 있습니다.

답변

1

HTH는 - 기본적으로 나는 특정 단어를 강조하기까지 내가 표시 한 데이터베이스에 텍스트를했다. 나는 저장 프로 시저 (stored procedure)에 그것을 표시하고 클라이언트 측의 RTF로 번역했다.

RTF 사양을 살펴 보았지만 사양을 읽고 무엇을해야하는지 알기가 다소 어려웠습니다.

열려있는 워드 패드 (시작 -> 실행 -> 워드 패드)를 터뜨리 고 다른 글꼴 스타일 등으로 둘러보기를 권합니다. 그런 다음 어딘가에 RTF 문서로 저장하십시오. 이 문서를 원하는 일반 텍스트 편집기 (나는 Notepad++을 사용)로 열면 RTF를 훨씬 쉽게 이해할 수 있습니다.

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}} 
{\colortbl ;\red0\green0\blue255;} 
{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\f0\fs20 Hello World.\par 
\b This text is bold.\b0\par 
\i This text is italicized.\i0\par 
\cf1 This text is blue.\cf0\par 
} 

이러한 태그 중 일부는 당신이 아마없이 할 수있는 단지 추가 마크 업입니다 :

여기에 내가 만든 간단한 RTF 문서의 예입니다. 그것을 가지고 놀고 보아라.

결국 당신의 라인을 따라 뭔가를 할 수 있어야한다 :

string rtf = GetMarkupTextFromServer(); 
rtf = rtf.Replace("[b]", @"\b"); 
rtf = rtf.Replace("[/b]", @"\b0"); 
rtf = rtf.Replace("[i]", @"\i"); 
rtf = rtf.Replace("[/i]", @"\i0"); 
    ... 
mRichTextBox.Rtf = rtf; 
1

사용자가 Windows 측에서 데이터를 편집 할 수 없지만 웹 측에서만 데이터를 편집 할 수있는 경우 DB에 HTML 소스를 저장하고 Windows 응용 프로그램의 웹 브라우저 컨트롤에 표시 할 수 있습니다.

1

웹 환경에서 가장 잘 할 수있는 것은 BFree과 마찬가지로 리치 텍스트 HTML 편집기입니다. 운 좋게도 거기에 numerous free editors가 있습니다. HTML로 정보를 데이터베이스에 저장하고 WebForm에서 다시 사용하도록 선택하면 웹 브라우저 컨트롤이 멈추게됩니다. 그러나 라이브러리를 사용하여 HTML과 RTF간에 정보를 변환 할 수 있습니다.

불행히도 일부 검색 후에는 비용을 지불 할 필요가없는 항목을 찾을 수 없었습니다. 프로그래밍 방식으로 변환을 수행하기 위해 MS Word를 데이터 펌프로 활용할 수는 있지만 이는 잘 확장되지 않을 수 있습니다.

1

웹 브라우저 컨트롤을 사용하고 webform에서 사용하는 것과 동일한 편집기를 사용하면 나중에 복잡한 문제가 발생하지 않도록 할 수 있습니다.

두 환경 모두 동일한 모양과 느낌을 가질 수 있습니다. 웹 양식 편집기에서 도움을 받으려면이 메시지에 회신 해주십시오. 내가 다시이 몇 년 놀았

0

폴더라는 임시을 만든 다음 내가 요구 한하지 무엇을이 코드

frmEditPro.RichTextBox1.SaveFile("C:\temp\Doc1.rtf", _RichTextBoxStreamType.RichText) 
+0

를 사용합니다. 문제는 PHP에서 RTF를 저장하는 것과 WinForms 내에서 RTF로 표시하는 것입니다. 이것은 매우 오래된 질문입니다. 이제 HTML을 저장하고 WebBrowser 컨트롤에 표시합니다. –

관련 문제