我将Word文档导入到项目的资源文件中。
是否可以提取此文档并将其显示在我的应用程序的RichTextBox控件中?
我能够使用下面的类从项目的资源文件中提取字符串和图像对象。
namespace TestProject
{
public class Utilities
{
private static ResourceManager _resource = new ResourceManager("TestProject.Resource1", Assembly.GetExecutingAssembly());
public static string GetString(string name)
{
return (System.String)(_resource.GetString(name));
}
public static Image GetImage(string name)
{
return (System.Drawing.Image) (_resource.GetObject(name));
}
}
}
答案 0 :(得分:1)
RTF格式化为字符串,如果将其添加到资源文件的“文件”部分,它将使用属性包装它以读取字符串。
那是:
Properties.Resources.YourDocument;
实现为:
internal static string YourDocument {
get {
return ResourceManager.GetString("YourDocument", resourceCulture);
}
}
并返回富文本,如下所示:
{\ RTF1 \ ANSI \ ansicpg1252 \ deff0 \ deflang3081 {\ fonttbl {\ F0 \ fnil \ fcharset0 Calibri;}} {\ colortbl; \ red255 \ green255 \ blue0;} {* \ generator Msftedit 5.41.21.2510;} \ viewkind4 \ UC1 \ PARD \ SA200 \ sl276 \ slmult1 \ CF1 \ lang9 \ F0 \ FS22 Rich \ cf0,多行文字。\ par \ par是\ b \ fs32 here \ b0 \ fs22 \ par}
离开你只是需要做:
richTextBox1.Rtf = RichTextResource.Properties.Resources.YourDocument
假设文档实际上保存为富文本。单词doc将显示为垃圾。
最后,如果您的资源存储为byte [],则需要先转换为字符串。即。
richTextBox1.Rtf = System.Text.Encoding.UTF8.GetString(bytes), assuming its UTF8 encoded.