如何使用图形类在c#中写入文本文件

时间:2013-02-13 07:23:50

标签: c# text graphics

我需要通过代码动态创建文档,然后打印并将其保存到.doc文件中。到目前为止,我已经设法使用图形类来打印文档,但我不知道如何以.doc或任何文本格式保存文件。是否有可能做到这一点?如果是,怎么办呢?

2 个答案:

答案 0 :(得分:0)

我不确定这是你在寻找什么,但如果你想用磁盘上的图形保存你所生产的东西,你可以使用windows metafiles(wmf)。如果g是您Graphics的实例,请执行以下操作:

        IntPtr hdc = g.GetHdc();
        Rectangle rect = new Rectangle(0, 0, 200, 200);
        Metafile curMetafile = new Metafile(@"c:\tmp\newFile.wmf", hdc);
        Graphics mfG = Graphics.FromImage(curMetafile);
        mfG.DrawString("foo", new Font("Arial", 10), Brushes.Black, new PointF(10, 10));
        g.ReleaseHdc(hdc);
        mfG.Dispose();

答案 1 :(得分:0)

假设您并不真的想要将图形保存为文本,只想创建Word文档,那么您需要查看Microsoft.Office.Interop.Word

即。来自DotNetPearls

using System;
using Microsoft.Office.Interop.Word;

class Program
{
    static void Main()
    {
    // Open a doc file.
    Application application = new Application();
    Document document = application.Documents.Open("C:\\word.doc");

    // Loop through all words in the document.
    int count = document.Words.Count;
    for (int i = 1; i <= count; i++)
    {
        // Write the word.
        string text = document.Words[i].Text;
        Console.WriteLine("Word {0} = {1}", i, text);
    }
    // Close word.
    application.Quit();
    }
}