You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ng2-pdf-viewer加载项目assets目录本地PDF失败求助

排查ng2-pdf-viewer无法加载本地assets中PDF的步骤

1. 确认Angular资源打包配置

打开项目根目录的angular.json,找到assets配置数组,必须确保src/assets被包含在内,示例配置如下:

"assets": [
  "src/favicon.ico",
  "src/assets"
],

若未配置该项,Angular打包时不会将assets目录下的文件复制到dist目录,导致文件无法被访问。

2. 修正路径写法

组件模板中无需添加../前缀,直接使用根路径映射的assets/TemplatePDFHonos.pdf即可:

  • HTML模板代码:
<pdf-viewer [src]="pdfSrc" [render-text]="true" style="display: block;"></pdf-viewer>
  • 对应TS代码:
pdfSrc = 'assets/TemplatePDFHonos.pdf';

3. 验证文件可访问性

  • 确认src/assets/TemplatePDFHonos.pdf文件真实存在,文件名大小写完全匹配(Windows不区分大小写,但部署到Linux环境会严格区分)。
  • 启动项目后,在浏览器地址栏直接访问http://localhost:4200/assets/TemplatePDFHonos.pdf,若能正常打开/下载,说明路径配置无误;若返回404,回到第一步检查assets配置。

4. 匹配依赖版本兼容性

Angular 10需搭配适配的ng2-pdf-viewer版本,建议安装7.x系列稳定版:

npm install ng2-pdf-viewer@7.x --save

过高版本可能存在Angular版本不兼容问题。

5. 查看浏览器控制台错误

按下F12打开开发者工具,切换到Console标签页排查具体错误:

  • 若出现CORS相关错误:本地开发场景罕见,可检查是否配置了特殊代理规则。
  • 若出现PDF.js相关错误:执行npm install重新安装依赖,确保依赖包完整。

6. 检查组件变量可见性

确保TS代码中pdfSrc变量为公共属性(Angular组件类属性默认public),避免因private修饰导致模板无法读取。

内容的提问来源于stack exchange,提问作者Grim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 15:27:10