创建webpart以在模态对话框上使用itextsharp显示PDF

时间:2013-12-07 10:40:26

标签: sharepoint pdf web-parts

尝试创建 webpart

要实现的步骤。

  1. 用户点击库中的项目(PDF文件), Sharepoint 所需的网址覆盖。
  2. 在模态对话框上显示PDF(不使用来自网络浏览器的Adobe插件)
  3. 我是 Sharepoint 的新手。

    如果有人能告诉我如何逐步实施,那就可以挽救我的生命。

    这主要是为了防止用户下载到本地硬盘。 在此之后,我打算只在屏幕上添加水印显示,打印输出不会有这个水印。

2 个答案:

答案 0 :(得分:0)

要将PDF显示为图像,您需要一个可以在服务器上“栅格化”PDF的库。据我所知,iTextSharp没有这种功能。

为什么不看一下开箱即用的产品,例如Foxit's PDF Reader for SharePoint,它会做类似的事情。

还有一些优秀的SharePoint水印产品,包括我公司创建的产品: - )

答案 1 :(得分:0)

使用此功能:

<script type="text/javascript">
        //User Defined Function to Open Dialog Framework
        function OpenDialog(strPageURL, strTitle) 
        {
          var dialogOptions = SP.UI.$create_DialogOptions();
          dialogOptions.url = strPageURL;// URL of the Page
          dialogOptions.width = 800; // Width of the Dialog
          dialogOptions.height = 600; // Height of the Dialog
          dialogOptions.title = strTitle;
          dialogOptions.dialogReturnValueCallback = Function.createDelegate( null, CloseCallback); // Function to capture dialog closed event
          SP.UI.ModalDialog.showModalDialog(dialogOptions); // Open the Dialog
          return false;
        }

        // Dialog close event capture function
        function CloseCallback(strReturnValue, target) 
        {
          if (strReturnValue === SP.UI.DialogResult.OK) // Perform action on Ok.
            {
           //alert("User clicked Ok!");
                return false;
            }
          if (strReturnValue === SP.UI.DialogResult.cancel) // Perform action on Cancel.
           {
           //alert( "User clicked Cancel!");
                return false;
           }
        }

        </script>

在您的母版页上放置 OpenDialog 功能,然后您可以从您需要的任何地方调用它。 例如,我有使用XSLT的文档库,我从这里调用 OpenDialog 函数。

<a href="" onclick="return OpenDialog('{@FileRef}','{@Title}');">
    <xsl:value-of select="@Title" disable-output-escaping="yes" />
</a>

只需将您的pdf路径和标题解析为 OpenDialog 功能。