SFDC 开发人员在这里。我创建了一个 VF 页面,它接受帐户 ID 并以表格形式在 VF 页面上显示一些信息。
我需要在单击按钮时使用不同的帐户 ID 多次调用此页面并将其中的表格下载为 zip 中的 PDF/文本文件。我正在考虑使用 JSZip 将所有 PDF/文本文件下载为一个 zip。
我使用 getContentAsPDF 在变量中获得了此 VF 页面的 Blob 值。
基本上我需要知道如何为每个帐户表使用这个 Blob 值并将其放在单独的文件中,将这些文件下载一个 Zip。任何想法如何进行?
编辑1:
所以在下面的代码中,我们可以看到我们在控制器中生成了一个 Blob 列表。单击 VF 页面按钮时,我将 Blob 列表作为参数发送到 JavaScript 函数。在该功能中,我试图将每个 blob 添加到 zip 并下载。但是我没有下载任何东西。
顶点代码:
CkIds = returnCommaSeparatedString(setOFCommKitID);
pr = New PageReference('/apex/PDFPage?id=' + iICPRec +'&CKIds='+CkIds);
pdf = pr.getContentAsPDF();
lstOfBlob.add(pdf);
JavaScript 代码:
var IdString;
var ArrayOfBlob = [];
function CallMe(TempVar, VarTemp){
alert(TempVar);alert(VarTemp);
IdString = TempVar;
ArrayOfBlob = VarTemp;
var zip = new JSZip();
for (var i=0; i < ArrayOfBlob.length; i++)
{
zip.file('Test',ArrayOfBlob[0]);
}
var blobLink = document.getElementById('CustomLink');
blobLink.download = "CommunicationKit.zip";
blobLink.href = window.URL.createObjectURL(zip.generate());
blobLink.click();