【问题标题】:RDLC rendered to PDF ignores Strikethrough formatting呈现为 PDF 的 RDLC 忽略删除线格式
【发布时间】:2011-09-21 15:35:41
【问题描述】:

所以,我有一个本地 .rdlc 文件,其中包含一些使用删除线格式格式化的文本。我的问题很容易解释,但我不知道这是否只是 PDF 的限制,还是 .rdlc 导出为 PDF 的错误。

当我写这段代码时:

var localReport = new LocalReport();
...
byte[] pdf = localReport.Render("PDF");
System.IO.File.WriteAllBytes("MyReport.pdf", pdf);

没有删除线格式的文本在 .pdf 文件上正确传输。

如果相反,我使用 .Render("Word") 导出到 Word,则删除线确实适用于 .doc 格式。所以,我知道 .rdlc 报告本身没有问题。

有人遇到过吗?有什么解决方案或变通方法?

【问题讨论】:

  • 我刚刚在 BIDS 2008R2 中进行了测试,导出的 PDF 包含删除线。你用的是什么版本?
  • Jamie,我使用的是 SQL Server 2008,但不是 R2。也许升级将是一个修复。
  • 我没有进行广泛的测试:我只是使用了 BIDS 内置的导出到 PDF 并取得了成功。我刚刚添加了一个答案,其中包含几年前讨论此问题的链接。

标签: pdf reporting-services rdlc


【解决方案1】:

我发现了这个:http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/b35ca474-046d-4a38-a765-6c38c3d33105/ 这表明 PDF 中缺少删除线是一个已知的限制。 (但正如问题的 cmets 所述,我无法使用 2008r2 重现。)

那里给出的两种解决方法看起来很痛苦。

(A) 找到一种字体,该字体本身作为删除线内置于每个字体中 字形/字符。 (B) 尝试使用线条模仿删除线 报告项目。请注意,对于 (B) 重叠项仅在 PDF、打印和 TIFF 格式。

我想如果它是我的,如果文本很少,我会玩选项 B。此外,当占位符设置为呈现为 HTML 时,可能值得测试一些启用的 html 直通。也许在那里使用删除线样式会起作用?

【讨论】:

  • 谢谢杰米。我也看到了。我会将此标记为答案,因为变通办法可能对某些人有用,但我认为使该工作一直有效的代码量是不值得的。而是升级到 2008R2。
【解决方案2】:

在导出 RDLC 报告时,我遇到了这个问题。因此,在获取数据时,我将 Strike 格式的样式替换为 HTML 中的罢工标签,并且效果很好。

【讨论】:

    猜你喜欢
    • 2016-03-14
    • 2015-10-06
    • 1970-01-01
    • 1970-01-01
    • 2011-12-20
    • 1970-01-01
    • 2016-05-02
    • 2017-08-06
    • 2019-12-03
    相关资源
    最近更新 更多