如何在下载之前对特定文件进行一些操作?

时间:2012-07-12 12:41:55

标签: c# asp.net handler reportviewer rdlc

如果我有一些报告,我想在用户通过(Export to pdf file)下载此报告之前做出具体行动(比如在此pdf中添加水印)。

  

如何处理导出按钮?


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

3 个答案:

答案 0 :(得分:2)

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

实施类似的东西;

How can I insert an image with iTextSharp in an existing PDF?

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

完成。

答案 1 :(得分:1)

最简单的方法是使用一个带有pdf文件的方法的静态类,也许还有水印图像,将其排序并传回去。

如果您想要更通用的内容,例如你想说密码保护和/或水印pdf,或者你有非pdf报告你想做什么。

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

答案 2 :(得分:0)

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

您应该实施Custom Report Renderer

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

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

看看这个博客:PDF watermark/background Rendering Extension for SSRS

他已经为你想做的事做了一个延伸。

然后,您可以通过编辑RSReportServer.Config文件来支持您不希望支持的内容。

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