我在SQL中有RTF数据,因为它包含很多上标字符。我正在尝试使用DrawString使用PDFsharp(而不是MigraDoc)在PDF上打印数据,但是,正如我所料,它只显示RTF字符串......
我尝试将它放在RichTextBox中,然后检索Text属性,这给出了正确的纯文本,但不是我需要的上标格式。
谁能告诉我如何正确输出RTF数据?
首先来自pdfsharp的FAQ:
我可以使用PDFsharp将HTML或RTF转换为PDF吗?
不,不是“开箱即用”,我们不打算在不久的将来编写这样的转换器。
是的,带有一些额外代码的PDFsharp可以做到这一点。但我们不提供额外的代码。在NuGet和其他来源,您可以找到第三方库“使用PdfSharp的PDF呈现器”,将HTML转换为PDF。并且可能存在用于相同或类似目的的其他库。也许他们为你工作,也许他们让你开始。
我认为使用DrawToBitmap
和RichTextBox
将RTF字符串渲染为图像,然后使用DrawImage
将其放入pdf文件中。
使用RichTextBox也是我的方法,但我只选择文本中的单个字符并查询相关属性(下标,上标,也可以是粗体,斜体,下划线以及您需要的任何其他内容)。当这些属性中的任何一个更改时,绘制到目前为止收集的文本并继续收集新属性集的字符,直到任何相关属性更改为止。
我可能会使用MigraDoc,所以我不必在代码中处理换行符,但这取决于你。我不会为文本创建位图,因为这会使PDF格式的优点无效。