Ajax пост для создания PDF - PullRequest
2 голосов
/ 07 июля 2011

Я использую ajax для публикации в функцию, которая создает документ PDF через TCPDF.

Обычно, я бы просто сделал обычную запись в функцию, и это вывело бы PDF, позволяя пользователю загрузить файл PDF. Однако я понимаю, что это не работает с ajax, и вместо этого мне нужно сохранить файл pdf на сервере, а затем вернуть URL-адрес файла в вызов ajax.

Как только у меня будет URL, я могу сделать что-то вроде

window.location.assign(url/to/my.pdf);

Хорошо, так что все это прекрасно работает, но не очень. Во-первых, pdf не открывается в новом окне (то есть в настоящее время он открывается в том же окне), а во-вторых, я бы предпочел заставить пользователя загружать файл, а не открывать его в браузере.

Есть ли другие альтернативы?

Ответы [ 2 ]

1 голос
/ 07 июля 2011

Если вы используете Apache для своего веб-сервера, то вы можете добавить следующее к файлу .htaccess в папке, где создаются ваши PDF-файлы, для принудительной загрузки.

<Files *.pdf>
  ForceType application/pdf
  Header set Content-Disposition attachment
</Files>
0 голосов
/ 07 июля 2011

Вы можете пропустить сгенерированный PDF через PHP и установить дополнительные заголовки, чтобы браузер загружал документ.См. расширение загрузки php force .

Я полагаю, вы можете также настроить эти заголовки для Apache автоматически (например, для PDF в определенной папке).

...