1
我想使用iTextSharp库生成PDF或RTF文档,该库可以复制到剪贴板,使用我用于生成文档的相同代码一个文件(FileStream)。iTextSharp - 如何在ClipBoard而不是文件中生成RTF文档
这样我的应用程序会给用户两个选项:生成到文件或剪贴板。
我想使用iTextSharp库生成PDF或RTF文档,该库可以复制到剪贴板,使用我用于生成文档的相同代码一个文件(FileStream)。iTextSharp - 如何在ClipBoard而不是文件中生成RTF文档
这样我的应用程序会给用户两个选项:生成到文件或剪贴板。
基本上每个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
标签后出口保存图像的字节图像。有些库将二进制内容编码为十六进制字符。当我在Word中粘贴(从内存中)时,图像不会出现,但如果从文件加载,则一切正常。有什么建议么?
你究竟准备粘贴PDF文档? – 2009-09-25 19:27:48
我使用库iTextSharp生成一个RTF文件。但我想生成相同的内容并将其发送到剪贴板,而不是将其发送到文件。 – Jonas 2009-09-28 02:11:54
沿着本文关于System.Windows.Forms Cliboard对象的方法如何: http://www.codeproject.com/KB/shell/clipboard01.aspx – 2009-09-30 03:24:32