【问题标题】:How to generate an RTF document server side in c#如何在 C# 中生成 RTF 文档服务器端
【发布时间】:2013-04-26 15:11:55
【问题描述】:

我曾尝试使用 System.Windows.Documents.FlowDocument 服务器端,但遇到了图像问题。

我需要生成一个包含标题、分节符、分页符、图像(文本从左侧或右侧环绕)、表格以及理想情况下的某种目录的文档。

我使用 c# 和 asp.net。

是否有图书馆可以完成大部分工作?

之所以选择 RTF,是因为文档需要在旧版本的 word 中可打开、可编辑,而且我们无法在服务器上运行 word。

谢谢

【问题讨论】:

  • 当你说“服务器端”是什么意思?这是一个网络应用程序吗?它是桌面 Win Forms 还是 WPF 应用程序?您正在使用哪些技术?仅仅说语言是 C# 是不够的。
  • 对不起@Jim。我正在使用 asp.net。我想在服务器上生成一个文件,并将其流式传输到客户端。没有桌面win表单应用程序。我尝试在代码中(在 asp.net 中)使用 FlowDocument 对象(不是 RichTextBox),但我不认为这是它的预期使用方式(我并不完全期望它能够工作,它只是我发现的关于 rtf 的每个问题的第一个答案)。

标签: c# asp.net rtf


【解决方案1】:

我过去使用过 MigraDoc,它是一个免费库。您可以创建 PDF 或 RTF。只需谷歌即可。

【讨论】:

  • 谢谢。您知道如何在 MigraDoc 中让文本环绕图像。我找不到任何例子。
  • 我不必这样做,但这篇文章可能会对您有所帮助:stackoverflow.com/questions/9622530/…
【解决方案2】:

我已经开始使用.net rtf writer

它产生干净的 rtf,但不能满足我的所有需求。

rtf here 有很好的文档。

我正在为自己解决一些问题。例如,我需要能够在图像周围环绕文本。虽然上面的 rtf 编写器允许您将图像添加到文档中,但它通过将图像放在自己的段落中来实现。我需要的是shape element

在 rtf 中,它最终看起来像这样(一些数字以缇为单位定义图像的大小和位置):

{\shp{\*\shpinst\shpleft3801\shptop1\shpright8300\shpbottom4500\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr2\shpwrk0\shpfblwtxt0\shpz0
{\sp
{\sn pib}
{\sv
{\pict\pngblip\pichgoal4499\picwgoal4499
-- image binary data goes here --
}}}
{\sp
{\sn fLine}
{\sv 0}}}}

我有时只是将某些内容保存在 word 中,然后尝试了解它的作用(但 word 似乎增加了很多噪音)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-20
    • 2011-05-07
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多