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