如何在没有MS Word或Interop的情况下在C#中创建固定宽度的文字艺术

时间:2013-02-22 00:57:03

标签: c# ms-word office-interop

我在一家每周和每月都有销售的商店工作。为了宣传这些销售,公司中的某个人花费了一个转变,从标准化模板中制作MS字样的小型和大型标志。这非常耗时,而且很容易出错。

我想设计一个程序,从我们的数据库中提取必要的产品信息并将其放入这些标志中。

我想使用wordart或wordart替换来创建许多对象,因为这将确保标准尺寸(适合标志)和样式。我对这些效果并不在乎,我只关心整个单词的高度和宽度。

我已经使用Interop库创建了一个小程序,虽然它创建了原始符号的近乎完美的复制品,但我担心一次坐下来做30-50个符号可能太慢了。 / p>

是否有MS wordart的替代品可以让我创建一个图像或其他文本对象,可以缩放以适合一定的大小?

2 个答案:

答案 0 :(得分:0)

如果您试图通过编写代码来替换(或解除)员工制作标志,并且您的代码接近完美但速度有点慢,那么您应该分析您的代码以了解它为什么会变慢。我无法想象您的代码比员工慢:D。所以你不应该仅仅因为速度而丢弃Word互操作,如果它完全符合你想要的那样。

另外,由于Word-art是一个Word-thing,所以不用Word就可以完成这项工作。如果您有正确的字体,您可以使用GDI +(标准图像绘制界面)从.NET执行此操作。但是,这需要一些教程阅读和反复试验。有一个praised GDI+ FAQ 1 ,有很多关于这个主题的信息。

慢速互操作的一个可能原因是Word实例的创建(和销毁)。

1 )链接似乎已关闭。 Here is Google's cache

答案 1 :(得分:0)

使用.docx和xml直接更改