Моят сайт рисува колонна диаграма. Имам бутон за запазване като PDF файл, показващ го преди записване.
Начинът, по който работи сега, е следният.
- google.visualization чертае диаграмата.
- html2canvas прави екранна снимка на диаграмата.
- jsPDF вмъква екранната снимка в PDF файл и я показва на потребителя.
Проблемът е името на PDF файла. Това е нещо като 5d78c1eb-0829-4e7e-8ffc-71cf1f102f56.pdf и url адресът е blob:http://example.com/5d78c1eb-0829-4e7e-8ffc-71cf1f102f56 Когато потребителят види PDF файла и щракне върху запазване, той получава това ужасно име на файл.
Сега показвам PDF файла по следния начин:
window.open(doc.output('bloburl'), '_blank');
Мога да задам желаното име на файл, ако променя този ред на това:
doc.save('sample-file.pdf');
Но в такъв случай файлът просто се изтегля, но първо трябва да го покажа.
Има ли начин да покажете PDF файла и да му дадете желано име? Опитах това:
window.open(doc.output('bloburl', {filename: 'myFileName.pdf'}), '_blank');
Но това не помогна.
Друг начин, който виждам, не е показването на PDF от jsPDF, а изпращането на изображения до сървъра и създаването на PDF файл там с помощта на TCPDF. Файловете, направени с TCPDF, могат да имат име, което аз му давам, но мисля, че е тъпо да изпращате изображенията там и обратно.
Така че въпросът е как мога да направя PDF и да го покажа на потребителя с името, което искам?
pdf.setProperties({ title: 'test' });
- person Weihui Guo   schedule 12.08.2020pdfjsnewwindow
. може да успеете да актуализирате кода и да добавите дефинирано от потребителя име на файл за изтегляне. - person Weihui Guo   schedule 17.08.2020