Мой сайт рисует столбчатую диаграмму. У меня есть кнопка, чтобы сохранить его как файл 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