
syncfusion/pdfviewer-serverSyncfusion PDF Viewer Server Docker镜像为Syncfusion PDF Viewer控件提供后端Web API服务,用于在Web应用中实现PDF文件的查看、打印、表单填写和注释功能。该镜像封装了PDF Viewer的后端服务,支持快速部署到基础设施,兼容多种前端开发框架。作为商业产品,其在生产环境中使用需有效许可证。
ASPNETCORE_HTTP_PORTS和ASPNETCORE_HTTPS_PORTS环境变量,优化容器化部署的端口管理适用于需要在Web应用中集成专业PDF处理功能的开发场景,尤其适合使用Syncfusion前端控件的开发团队。可广泛应用于文档管理系统、在线教育平台、电子政务系统等需要在浏览器中处理PDF文件的Web应用。
通过以下命令从Docker Hub拉取PDF Viewer Server镜像:
consoledocker pull pdfviewer-server
在文件系统中创建docker-compose.yml文件,内容如下:
yamlversion: '3.4' services: pdfviewer-server: image: syncfusion/pdfviewer-server:latest environment: # 提供生产环境激活所需的许可证密钥 SYNCFUSION_LICENSE_KEY: YOUR_LICENSE_KEY ports: - "6001:80"
注意:.NET 8引入了
ASPNETCORE_HTTP_PORTS和ASPNETCORE_HTTPS_PORTS环境变量以简化端口绑定配置,特别适用于Kubernetes和容器优先部署场景。配置示例:yamlASPNETCORE_HTTP_PORTS: 80 ASPNETCORE_HTTPS_PORTS: 443此方式无需复杂的启动配置文件或手动端口映射,实现更标准化的部署流程。
在终端中导航至docker-compose.yml文件所在目录,执行以下命令启动容器:
consoledocker-compose up
也可直接使用docker run命令运行容器:
consoledocker run -d -p 6001:80 -e SYNCFUSION_LICENSE_KEY=YOUR_LICENSE_KEY syncfusion/pdfviewer-server:latest
容器启动后,可通过http://localhost:6001访问服务。导航至http://localhost:6001/api/pdfviewer可查看PDF Viewer Web API控件的默认响应,确认服务正常运行。
在客户端PDF Viewer控件中,将服务URL配置为上述Docker实例的API地址。以下是HTML客户端集成示例:
html<!DOCTYPE html><html xmlns="[***]"><head> <title>Essential JS 2</title> <link href="//cdn.syncfusion.com/ej2/ej2-base/styles/material.css" rel="stylesheet"> <link href="//cdn.syncfusion.com/ej2/ej2-pdfviewer/styles/material.css" rel="stylesheet"> <link href="//cdn.syncfusion.com/ej2/ej2-buttons/styles/material.css" rel="stylesheet"> <link href="//cdn.syncfusion.com/ej2/ej2-popups/styles/material.css" rel="stylesheet"> <link href="//cdn.syncfusion.com/ej2/ej2-navigations/styles/material.css" rel="stylesheet"> <link href="//cdn.syncfusion.com/ej2/ej2-dropdowns/styles/material.css" rel="stylesheet"> <link href="//cdn.syncfusion.com/ej2/ej2-lists/styles/material.css" rel="stylesheet"> <link href="//cdn.syncfusion.com/ej2/ej2-inputs/styles/material.css" rel="stylesheet"> <link href="//cdn.syncfusion.com/ej2/ej2-splitbuttons/styles/material.css" rel="stylesheet"> <link href="//cdn.syncfusion.com/ej2/ej2-drawings/styles/material.css" rel="stylesheet"> <link href="//cdn.syncfusion.com/ej2/ej2-inplace-editor/styles/material.css" rel="stylesheet"> <link href="//cdn.syncfusion.com/ej2/ej2-calendars/styles/material.css" rel="stylesheet"> <link href="//cdn.syncfusion.com/ej2/ej2-richtexteditor/styles/material.css" rel="stylesheet"> <!-- Essential JS 2 PDF Viewer的全局脚本 --> <script src="//cdn.syncfusion.com/ej2/ej2-pdfviewer/dist/global/ej2-pdfviewer.min.js" type="text/javascript"></script> <script src="//cdn.syncfusion.com/ej2/dist/ej2.min.js" type="text/javascript"></script> <script src="[***]" type="text/javascript"></script> </head> <body> <!-- 渲染容器 --> <div id="container"> <div id="PdfViewer" style="height:500px;width:100%;"> </div> </div> <script> // 初始化PDF Viewer组件 var pdfviewer = new ej.pdfviewer.PdfViewer({ documentPath: "PDF_Succinctly.pdf", serviceUrl: "http://localhost:6001/api/pdfviewer" // 配置Docker后端服务地址 }); ej.pdfviewer.PdfViewer.Inject(ej.pdfviewer.TextSelection, ej.pdfviewer.TextSearch, ej.pdfviewer.Navigation, ej.pdfviewer.Print); // PDF Viewer控件渲染 pdfviewer.appendTo('#PdfViewer'); </script> <script> var ele = document.getElementById('container'); if(ele) { ele.style.visibility = "visible"; } </script> <script src="index.js" type="text/javascript"></script> </body></html>
PDF Viewer服务器库内部缓存已加载的文档实例,可通过以下步骤配置Redis分布式缓存,适用于多实例部署环境:
创建Azure Cache for Redis实例并获取连接字符串。
在docker-compose.yml中添加Redis缓存相关环境变量:
yamlversion: '3.4' services: pdfviewer-server: image: syncfusion/pdfviewer-server:latest environment: # 许可证密钥 SYNCFUSION_LICENSE_KEY: YOUR_LICENSE_KEY # Redis缓存连接字符串 REDIS_CACHE_CONNECTION_STRING: YOUR_REDIS_CACHE_CONNECTION_STRING # 文档滑动过期时间(分钟),默认10分钟 DOCUMENT_SLIDING_EXPIRATION_TIME: "20" ports: - "6001:80"
各前端框架的PDF Viewer集成快速入门:

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务