C#PDFsharp输出RTF文本

问题描述 投票:0回答:2

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

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

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

c# pdfsharp
2个回答
0
投票

首先来自pdfsharp的FAQ

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

不,不是“开箱即用”,我们不打算在不久的将来编写这样的转换器。

是的,带有一些额外代码的PDFsharp可以做到这一点。但我们不提供额外的代码。在NuGet和其他来源,您可以找到第三方库“使用PdfSharp的PDF呈现器”,将HTML转换为PDF。并且可能存在用于相同或类似目的的其他库。也许他们为你工作,也许他们让你开始。

我认为使用DrawToBitmapRichTextBox将RTF字符串渲染为图像,然后使用DrawImage将其放入pdf文件中。


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.