2009-09-25 4 views
1

문서를 생성하는 데 사용하는 것과 동일한 코드를 사용하여 클립 보드에 복사 할 수있는 iTextSharp 라이브러리를 사용하여 PDF 또는 RTF 문서를 생성하고 싶습니다. 파일 (FileStream).iTextSharp - 파일 대신 ClipBoard에서 RTF 문서를 생성하는 방법

내 응용 프로그램에서 사용자에게 파일 또는 클립 보드로 생성하는 두 가지 옵션을 제공합니다.

+0

정확히 어디에서 PDF 문서를 붙여 넣으려고합니까? –

+0

iTextSharp 라이브러리를 사용하여 RTF 파일을 생성합니다. 하지만 동일한 내용을 생성하여 파일로 보내지 않고 클립 보드로 보내고 싶습니다. – Jonas

+0

System.Windows.Forms Cliboard 개체에 대한이 기사의 내용은 다음과 같습니다. http://www.codeproject.com/KB/shell/clipboard01.aspx –

답변

0

기본적으로 모든 iTextSharp 문서는 System.IO.Stream에 첨부됩니다.

Document doc = new Document(PageSize.A4); 
RtfWriter2.GetInstance(doc, stream); 

일반적으로 FileStream을 사용하여 문서를 파일에 저장합니다. 동일한 코드를 사용하여 문서를 클립 보드에 붙여 넣으려면 대신 MemoryStream을 사용하십시오.

MemoryStream stream = new MemoryStream(); 
Document doc = new Document(PageSize.A4); 
RtfWriter2.GetInstance(doc, stream); 

// (...) document content 

doc.Close(); 

string rtfText = ASCIIEncoding.ASCII.GetString(stream.GetBuffer()); 
stream.Close(); 

Clipboard.SetText(rtfText, TextDataFormat.Rtf); 

난 단지 이미지에 문제가 있었다 :를이 iTextSharp가 \bin 태그 후 이미지의 바이트를 저장하는 이미지를 수출 것으로 보인다. 일부 라이브러리는 이진 내용을 16 진수로 인코딩합니다. Word에서 붙여 넣을 때 이미지가 나타나지 않지만 파일에서로드하면 모든 내용이 정상입니다. 어떤 제안?

관련 문제