C#PDFsharp输出RTF文本

时间:2019-02-22 02:41:39

标签: c# pdfsharp

我在RTF中的SQL中有数据,因为它包含许多上标字符。我正在尝试使用DrawString使用PDFsharp(不是MigraDoc)将数据打印到PDF上,但是,正如我所期望的,它只显示RTF字符串...

我尝试将其放在RichTextBox中,然后检索Text属性,这会提供正确的纯文本,但不是我需要的上标格式。

谁能告诉我如何正确输出RTF数据?

2 个答案:

答案 0 :(得分:0)

首先来自pdfsharp的FAQ

  

我可以使用PDFsharp将HTML或RTF转换为PDF吗?

     

不,不是“出于   框”,我们不打算在不久的将来编写这样的转换器。

     

是的,带有一些额外代码的PDFsharp可以做到。但是我们不供应   那多余的代码。在NuGet和其他来源上,您可以找到第三方   库“使用PdfSharp的HTML Renderer for PDF”将HTML转换为   PDF。并且可能还有其他相同或相似的库   目的也一样。也许他们为您工作,也许他们可以帮助您入门。

我认为一种解决方法是将DrawToBitmapRichTextBox结合使用,将RTF字符串呈现为图像,然后使用DrawImage将其放入pdf文件中。

答案 1 :(得分:0)

使用RichTextBox也是我的方法,但是我只选择文本中的单个字符并查询相关属性(下标,上标,也可能是粗体,斜体,下划线以及您需要的其他任何内容)。并且,当这些属性中的任何一个发生更改时,请绘制您到目前为止收集的文本,并继续为新的一组属性收集字符,直到任何相关的属性更改为止。

我可能会使用MigraDoc,所以我不必在代码中处理换行符,但这取决于您。我不会为文本创建位图,因为这会使PDF格式的优点无效。