Может ли PHP обрабатывать форму PDF, представленную в виде полного документа PDF

Вкратце:

У меня есть PDF, который клиенты могут заполнить. Когда они нажимают кнопку «Отправить», я хочу автоматически отправить электронное письмо с прилагаемым PDF-файлом. Это должно происходить на стороне сервера без дальнейшего взаимодействия со стороны клиента.

В Long:

В настоящее время у меня есть файл PDF, который должен размещать данные на сервере в виде данных формы html. Затем мой PHP-скрипт обрабатывает эти данные и отправляет текстовое сообщение с данными. Люди, получающие электронную почту, предпочли бы иметь копию фактического PDF, а не просто текст.

Итак, в Adobe Acrobat 9 Pro я установил кнопку «Отправить» для отправки в виде «PDF Полный документ» (как показано ниже).

введите описание изображения здесь

Проблема в том, что я не знаю, что делать в PHP, чтобы справиться с этим. Я предположил, что он будет загружаться на сервер как часть массива $_FILES , но print_r($_FILES) показывает пустой массив, а count $_FILES и $_POST равно 0 .

Итак, мой вопрос: что происходит с загруженным pdf? и есть ли что-нибудь, что я могу сделать с PHP, чтобы превратить этот pdf-файл в приложение электронной почты? Я не думаю, что у меня возникают проблемы с размером файла; post_max_size – 2 МБ, а PDF – около ~ 725 КБ.


На самом деле я отправил данные FDF на сервер, а не весь PDF. Это означало, что мне пришлось написать целую кучу тарабарщины в моем PHP для обработки FDF, но все-в-одном это меньшая загрузка и соответствует требованиям клиента. Если вам действительно нужно загрузить весь PDF, ответ Patrick ниже должен быть правильным – вы должны найти загруженный pdf в $GLOBALS['HTTP_RAW_POST_DATA'] .

Related of "Может ли PHP обрабатывать форму PDF, представленную в виде полного документа PDF"

Вы можете извлечь необработанные данные PDF из $ GLOBALS ['HTTP_RAW_POST_DATA']. Вы можете вывести это в файл и открыть его, как и любой PDF-файл.

Если ваш массив $_FILES пуст, вы, вероятно, используете неправильное значение атрибута <form enctype=""> . Проверьте, есть ли у вас:

 enctype="multipart/form-data" 

Это необходимо для формы, позволяющей отправлять файлы. Затем вы можете использовать загруженный файл и отправить его клиенту, который, кажется, вы можете.