2017-04-11 27 views
0

我有一个工作文件系统来保存PDF文件。在作业结束时,我希望能够将所有这些PDF文件合并为一个文件(一个接一个页面)。当我从文件系统下载文件时,我得到了数据uri。我可以调用window.open(data uri),它将打开pdf。我试图采取2数据uri字符串,并简单地将它们组合,但它不会打开任何东西。多个数据uri pdf文件到1文件javascript

data:application/pdf;base64,JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoKPDwgL0xlbmd0aCA1IDAgUiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGtvV2LLk1uJXq/f0VdD3j7yY+nnio4+GIGM9cNL8z1uN3vORj3QI//P5wlRUZkREqK1Koq2tBNuWpthVKhbyn+8faXt3+8rR9vr/f97e9vz49d/9d/6v/Cj/9T/n/1v+V3/vPt/3v7X//t7f+8PfCf92V9e32ub//3b2//69f/efvn//lfy9v/+19v//w/8N9//S/9lcfbf/31bX8+35778rYsn2+L/Pafb8/XVn70tryXn2zb6/ylX/pLy/Oj/OjjUf/us/zkHWDHnwU/wC8U4F/6Tz3f8Qfrfv7N8yU/2MoPlMAXiDsJVHLGHyk58iMhp1Ao5OAnIznDDwT6ffnooa//2q+DHQL9tj9Odlz+LiBJf+vgEKAGKgsWqJRfOqn0yB5/YzsPVk56/OAkUE8hbD15pj+S71x5/6Ykd78E+tp3br9k/6x... 

如何组合这些数据字符串以获得一个接一个的页面?

回答

1

您无法在新窗口中打开2个PDF文件,也​​可以尝试使用其中一个PDF库来合并PDF文件,然后在新窗口中打开新创建的合并pef文件。我建议你这样做library PDF.js

另一种选择是将文件发送到后端的Web服务进程,并将文件返回到合并文件的客户端。

+0

你是男人!我制作了一个服务器函数来使用npm包easy-pdf-merge,并简单地将数据uri保存为本地fs上的文件,然后使用easy-pdf-merge将它们组合并创建一个新的combined.pdf,然后读取文件与'base64'合并.pdf获取数据uri并用正确的数据响应客户端。像魅力工程谢谢! – user1779362

+0

没问题,很高兴帮助你! –

+0

@DanielBallesteros你可以参考你最后的答案吗? http://stackoverflow.com/questions/43620852/return-true-if-all-images-uploaded-to-firebase-storage – Nere