3 回答

TA贡献2019条经验 获得超9个赞
我有完全相同的问题。我注意到一些超过 1MB 的 PDF 无法加载。
需要将 Base64 字符串更改为 BLOB。然后创建一个用于 iframe src 的 URL。
这是代码:
base64PDFToBlobUrl( base64 ) {
const binStr = atob( base64 );
const len = binStr.length;
const arr = new Uint8Array(len);
for (let i = 0; i < len; i++) {
arr[ i ] = binStr.charCodeAt( i );
}
const blob = new Blob( [ arr ], { type: 'application/pdf' } );
const url = URL.createObjectURL( blob );
return url;
}
这将返回一个 url,您可以将其放入 iframe、嵌入或对象 src 中。这样,您仍然可以在页面中加载 PDF,而无需在其他选项卡中打开它。

TA贡献1868条经验 获得超4个赞
您可以使用 Mozilla 编写的 JS 渲染器,而不是使用浏览器原生的 PDF 渲染器。
ViewerJS为此提供了一个很好的界面,如果您想将其全尺寸嵌入到页面中,那么您可以将其放置在 iframe 中并使用iFrame-resizer进行控制。
- 3 回答
- 0 关注
- 415 浏览
添加回答
举报