【问题标题】:How to add PDF viewer panel to Sharepoint WebPart如何将 PDF 查看器面板添加到 Sharepoint WebPart
【发布时间】:2011-06-23 19:31:55
【问题描述】:

从未使用过 Sharepoint,但需要添加 WebPart 以显示 PDF 文档。这是如何工作的?

目前有一些代码可以添加 ReportViewer (SSRS) WebPart,但我需要替换它以显示 PDF 文件(来自磁盘)。

PDF 文件来自未公开提供的本地/网络路径。我需要在 Web 部件中流式传输 PDF 内容,同时设置内容类型。

如果有帮助,我的想法是响应不同的 URL(同一站点中的页面),它只需要一些令牌(获取参数?)并流式传输一个 byte[] 并将内容类型设置为 application/ pdf - 我很可能完全不合时宜。 您需要非常具体地说明答案中的步骤和代码/示例/链接。

【问题讨论】:

  • 你能建立一个简单的网站来提供 PDF 吗?这可能更容易。
  • @gbn 这样的网站需要与 Sharepoint 网站共享一些配置文件、会话和用户验证。
  • 有可以从文档库提供的 PDF 查看器:您可以将 PDF 上传到 sharepoint 吗?这可以通过 Windows 资源管理器完成,也可以通过一些实用程序完成
  • 从这个链接下载free webpart,然后安装。

标签: c# asp.net sharepoint pdf web-parts


【解决方案1】:

将页面查看器 Web 部件添加到页面并将 URL 设置为 pdf 的位置。这样做的副作用是 Acrobat 工具栏显示在 Web 部件中。如果你想让它消失,你必须将 #toolbar=0&navpanes=0 添加到 url。例如:

http://server:port/path/filename.pdf#toolbar=0&navpanes=0

注意:用户必须安装 Adob​​e 阅读器插件才能在 Web 部件中查看 pdf。

【讨论】:

  • URL 是浏览器(客户端)的 url,还是本地资源,例如 file:///?我需要在 Web 部件的网络位置上提供 PDF 文件。
  • @cyberwiki 这将是一个服务器端路径而不是客户端。
【解决方案2】:

您应该将 Matt 的解决方案和 HttpHandler 结合起来: HttpHandler 将从您的本地/网络路径获取 PDF 文件并将其发送给您的客户端。 页面查看器 Web 部件(或插入内容 Web 部件的 iframe)将在您的页面上集成 PDF:

这是 httphandler 的简单代码:

public class TestPdfHandler : IHttpHandler
{
    #region IHttpHandler Membres

    public bool IsReusable
    {
        get { return true; }
    }

    public void ProcessRequest(HttpContext context)
    {
        string fileName = context.Request["pdfname"];

        byte[] buffer = null;
        buffer = File.ReadAllBytes("d:\\" + fileName +".pdf");
        context.Response.Clear();
        context.Response.ContentType = "application/pdf";

        context.Response.OutputStream.Write(buffer, 0, buffer.Length);
        context.Response.End();
    }

    #endregion
}

在 web.config 中,添加 httphandler :

 <add verb="*" path="pdf.axd" type="test.TestPdfHandler, pdfhandler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=98df27cf3a770eaa"/>

在 WebPart 中,设置 src 属性:

如果您想根据 URL 上传递的参数加载不同的 PDF,则困难在于。

如果是这样,您将需要创建自己的 webpart,只需在当前请求中获取 QueryString 参数,并使用包含该参数的 src 属性编写 iframe elt。

【讨论】:

    猜你喜欢
    • 2010-11-12
    • 2012-11-23
    • 2011-02-19
    • 2010-12-23
    • 2015-12-12
    • 2021-08-27
    • 1970-01-01
    • 2013-11-25
    • 1970-01-01
    相关资源
    最近更新 更多