1

如果我有一些报告并且我想在用户通过 ( Export to pdf file) 下载此报告之前执行特定操作(例如在此 pdf 中添加水印)。

如何处理导出按钮?


注意:我想要一些通用的方法,因为我有很多报告,我不想重复代码。我只想pdf在下载文件之前对文件执行特定的行为。

4

3 回答 3

2

假设您已经可以访问没有水印的原始 PDF:

实现这样的东西;

如何在现有 PDF 中插入带有 iTextSharp 的图像?

重定向或二进制下载带水印的文件。

完毕。

于 2012-07-12T12:49:49.280 回答
1

最简单的方法是一个静态类,该类具有一个方法,该方法需要一个 pdf 文件,也许还有水印图像,将其分类并传回。

如果你想要一些更通用的东西,例如你想说密码保护和/或给 pdf 加水印,或者你有非 pdf 报告你想做一些事情。

然后接口 IPrepareForExport 并在各种类型的“报告”上实现它,或者可能使用装饰器模式和一些属性。

于 2012-07-12T12:55:46.140 回答
0

现在这不是一个容易实施的解决方案。但它是完全通用的。

您应该实施自定义报告呈现器

通过为 Reporting Services 创建呈现器,您可以将报表呈现为您选择的格式。

只要您有报告导出,它就可用。

看看这个博客:SSRS的PDF水印/背景渲染扩展

他已经对你想做的事情做了一个扩展。

然后,您可以通过编辑 RSReportServer.Config 文件来删除您不希望支持的现有呈现选项。

您的报告数量无关紧要,因为这是一处配置更改。

于 2012-07-12T12:58:36.620 回答