返回

ASP.NET Core 轻松加载和显示 PDF 文档

后端

在 ASP.NET Core 中轻松加载和显示 PDF 文档

简介

在构建现代 Web 应用程序时,经常需要实现加载和显示 PDF 文档的功能。ASP.NET Core,作为微软推出的最新 Web 开发框架,为我们提供了强大的工具来满足这一需求。本文将逐步指导您如何在 ASP.NET Core 中实现此功能,让您轻松展示法律文件、产品说明书和其他重要文档。

创建新的 ASP.NET Core 项目

首先,创建一个新的 ASP.NET Core Web 应用程序。在 Visual Studio 中,选择“文件”>“新建”>“项目”,然后选择“ASP.NET Core Web 应用程序”。选择“API”作为项目类型,并单击“创建”按钮。

安装 NuGet 包

安装必要的 NuGet 包:

  • Install-Package Microsoft.AspNetCore.StaticFiles:支持静态文件,如 PDF 文档。
  • Install-Package Syncfusion.PdfViewer:一个用于在 Web 应用程序中加载和显示 PDF 文档的强大控件。

创建控制器

在项目中创建一个新的控制器来处理 PDF 文档的请求:

代码示例

using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Syncfusion.PdfViewer;
using System.IO;

namespace YourProject.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class PdfViewerController : ControllerBase
    {
        private readonly IWebHostEnvironment _webHostEnvironment;

        public PdfViewerController(IWebHostEnvironment webHostEnvironment)
        {
            _webHostEnvironment = webHostEnvironment;
        }

        [HttpGet("LoadPdf")]
        public IActionResult LoadPdf()
        {
            var path = Path.Combine(_webHostEnvironment.WebRootPath, "pdf", "document.pdf");
            var bytes = System.IO.File.ReadAllBytes(path);

            return new FileContentResult(bytes, "application/pdf")
            {
                FileDownloadName = "document.pdf"
            };
        }
    }
}

添加 Syncfusion PdfViewer 组件引用

在项目文件中(.csproj)中添加以下引用:

代码示例

<PackageReference Include="Syncfusion.Blazor" Version="19.4.0.57" />

加载 PDF 文档

在 PdfViewerController 中,LoadPdf 方法负责加载 PDF 文档:

  1. 获取 PDF 文档的路径。
  2. 将文档读入字节数组。
  3. 将字节数组作为文件内容结果返回,并指定文件下载名称。

运行应用程序

保存项目文件并运行应用程序。通过访问 /api/PdfViewer/LoadPdf 路径,您应该能够加载 PDF 文档。浏览器将自动打开文档。

结论

按照本文的步骤,您可以在 ASP.NET Core 中轻松加载和显示 PDF 文档。Syncfusion PdfViewer 组件提供了广泛的功能,让您能够自定义文档的显示方式,实现缩放、旋转和搜索等交互。通过使用 ASP.NET Core 和 Syncfusion PdfViewer,您可以为您的 Web 应用程序提供强大的 PDF 文档查看体验。

常见问题解答

  1. 如何自定义 PDF 文档的显示方式?

    您可以使用 Syncfusion PdfViewer 的属性和方法来自定义文档的显示方式,例如页码、缩放级别和工具栏的可见性。

  2. 如何实现 PDF 文档的缩放和旋转?

    Syncfusion PdfViewer 提供了缩放和旋转工具,您可以使用它们通过鼠标或触摸手势操作文档。

  3. 如何实现 PDF 文档的搜索功能?

    Syncfusion PdfViewer 集成了一个强大的搜索工具,您可以使用它查找文档中的特定文本。

  4. 如何在 ASP.NET Core 中托管 PDF 文档?

    您可以将 PDF 文档存储在项目的 wwwroot 文件夹中,或使用外部文档存储服务,如 Azure Blob 存储。

  5. 我可以在移动设备上查看 PDF 文档吗?

    Syncfusion PdfViewer 是一个响应式的组件,可在移动设备上无缝工作。它支持触控手势和设备方向更改。