В одном из наших приложений у нас есть сценарий сброса данных из базы данных в правильно сформированный XDP-файл, который пользователь может загрузить. XDP содержит ссылку на PDF-файл на том же сервере через тег <pdf>
. Идея состоит в том, что пользователь может выгружать данные, получать XDP, который загружает PDF-файл и автоматически заполняет данные, которые они могут затем сохранить, распечатать или отправить по электронной почте.
Проблема в том, что Adobe Reader (или Acrobat) вместо этого открывает веб-браузер по умолчанию, чтобы попытаться загрузить PDF, и если вы откроете его из браузера, он не будет автоматически заполнять данные, выгруженные из базы данных. Если я возьму XDP и использую текстовый редактор, чтобы изменить ссылку в теге <pdf>
на локально загруженную копию, форма заполнится нормально, поэтому XDP написан правильно, однако это не практическое решение, так как большинство пользователей не знаю, как это сделать.
У меня вопрос, есть ли способ автоматизировать этот процесс, чтобы Adobe Reader или Acrobat загружал файл PDF и автоматически заполнял данные, а не пытался направить процесс через веб-браузер.
EDIT
Используя ответ Искателя, мы создали следующий короткий фрагмент в PHP:
$filename = ""; // Your file here
$contents = base64_encode(file_get_contents($filename));
Затем в файле PHP, который обрабатывает XML:
<pdf xmlns="http://ns.adobe.com/xdp/pdf/">
<document>
<chunk><?php echo $contents ?></chunk>
</document>
</pdf>