如果我有一些报告,并希望在用户通过(Export to pdf file
)下载此报告之前做出特定的操作(如为此PDF添加水印)。如何在下载之前对特定文件进行一些操作?
如何处理导出按钮?
注:我想一些通用的方法,因为我有很多的报道,我不想重复的代码。我只想在下载文件之前执行pdf
文件的特定行为。
如果我有一些报告,并希望在用户通过(Export to pdf file
)下载此报告之前做出特定的操作(如为此PDF添加水印)。如何在下载之前对特定文件进行一些操作?
如何处理导出按钮?
注:我想一些通用的方法,因为我有很多的报道,我不想重复的代码。我只想在下载文件之前执行pdf
文件的特定行为。
假设你有原始PDF,而不已经访问的水印:
实现这样的事情;
How can I insert an image with iTextSharp in an existing PDF?
重定向或二进制下载水印文件。
完成。
最简单的方法将是一个静态类与一个方法,需要PDF文件,也许水印图像,排序出来,并将其传回。
如果你想要更通用的东西,例如你想说密码保护和或水印PDF,或者你有非PDF报告,你想做的事情。
然后接口IPrepareForExport并在各种类型的“报告”上实现它,或者使用装饰器模式和一些属性。
现在这不是一个简单的解决方案来实现。但它是完全通用的。您应该实施Custom Report Renderer。
通过为Reporting Services创建渲染器,可以将报告渲染为您选择的格式。
无论您有报告输出,它都可以使用。
看看这个博客:PDF watermark/background Rendering Extension for SSRS
他已经做了你想做的事的推广。
然后您可以通过编辑RSReportServer.Config文件不希望支持的remove the existing rendering option。
您的报告数量无关紧要,因为这是一处配置更改。