У меня есть вопрос с вопросом о прослушивании. Есть ли способ прикреплять xdf-файл к существующему файлу pdf с php на лету? Я создал PDF-файл, и мне нужно прикрепить его к файлу PDF сразу после генерации pdf. Не могли бы вы помочь?Приложить файл xdf к pdf с PHP
0
A
ответ
1
Это может быть слишком поздно для вас, но вот класс, который я написал много лет назад для CodeIgniter. Он может быть адаптирован к вашим потребностям.
<?php
class Fdf {
private $ci;
private $db;
private $testing = false; // are we testing?
private $fields = array();
private $pdf_file = '';
private $save_where = array('browser' => 'inline');
public function __construct($config = array()){
$this->ci =& get_instance();
$this->ci->load->database();
$this->db =& $this->ci->db;
if ($this->testing && $this->CI->config->item('log_threshold') < 2){
$this->ci->config->set_item('log_threshold', 2);
}
log_message('debug', 'Fdf class loaded');
}
/**
* This function generates a string in format FDF for use with the indicated pdf form $file.
* $info is an associative array holding the form fields in the key => value form
* $file is the URL of the pdf file that holds the form fields we want to populate
*
* @param mixed $info associative array of the fields
* @param mixed $file URL of the pdf file
*
* @author Alin Mazilu
*/
public function create_fdf_string($info, $file){
$data="%FDF-1.2\n%âãÏÓ\n1 0 obj\n<< \n/FDF << /Fields [ ";
foreach($info as $field => $val){
if(is_array($val)){
$data.='<</T('.$field.')/V[';
foreach($val as $opt)
$data.='('.trim($opt).')';
$data.=']>>';
}else{
$data.='<</T('.$field.')/V('.trim($val).')>>';
}
}
$data.="] \n/F (".$file.") /ID [ <".md5(microtime(true)).">\n] >>".
" \n>> \nendobj\ntrailer\n".
"<<\n/Root 1 0 R \n\n>>\n%%EOF\n";
log_message('debug', "FDF string is:\n" . $data);
return $data;
}
public function set_fields($data){
if (is_object($data)){
$this->fields = get_object_vars($data);
} elseif (is_array($data)){
$this->fields = $data;
} else {
return false;
}
return true;
}
public function set_pdf_file($file = ''){
if (empty($file)){
return false;
}
$this->pdf_file = $file;
return true;
}
public function set_output($where){
if (empty($where) || !is_array($where)){
return false;
}
$this->save_where = $where;
return true;
}
public function output($where = array('browser' => 'inline')){
$str = $this->create_fdf_string($this->fields, $this->pdf_file);
$len = strlen($str);
if (empty($where)){
$where = $this->save_where;
}
$file_name = explode('/', $this->pdf_file);
$file_name = end($file_name);
if (isset($where['browser'])){
header('Content-Type: application/vnd.fdf');
header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1
header('Pragma: public');
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Content-Disposition: ' . $where['browser'] . '; filename="' . $file_name . '";');
header('Content-Length: ' . $len);
echo $str;
}
}
}
данные передаются в виде ассоциативного, ключи которого являются имена полей и значения содержат данные на полях. Метод вывода используется для автоматического удаления файла FDF в браузер. Надеюсь, это поможет кому-то там.
Смежные вопросы
- 1. приложить сжатый файл в PDF
- 2. Приложить PDF к электронной почте
- 3. PHP Приложить почтовую функцию PDF
- 4. Приложить файл PDF к электронному письму Mandrill с помощью PDFsharp
- 5. Приложить случайный файл к pdf с помощью itText
- 6. Не удалось приложить PDF к электронной почте в php
- 7. Загрузить PDF-файл и приложить его к электронной почте
- 8. Приложить файл к заметке с использованием SSJS
- 9. Приложить PDF к электронной почте с помощью UIActivityViewController
- 10. приложить двоичный файл к андроидному приложению
- 11. Приложить pdf-письмо, предоставить разрешение
- 12. Прикрепить PDF к существующему PDF
- 13. Приложить сгенерированный PDF-файл в сообщении Mailgun Django/Python
- 14. Приложить Pdf к электронной почте композитор в ионной
- 15. Приложить звук к SKEmitterNode
- 16. Приложить файл Excel к отчету, созданному в SSRS 2008
- 17. Приложить метаданные к картинке
- 18. Загрузить pdf-файл с php
- 19. Создайте файл PDF с PHP
- 20. приложить фотографии с писем PHP
- 21. Приложить скрытые (биометрические) данные к цифровой подписи на pdf
- 22. umbraco 7: приложить pdf от tinyMCE
- 23. phpmailer - приложить большой файл
- 24. Приложить документ к WebEvent в Ektron?
- 25. выделенного об ошибке XDF
- 26. Не удается приложить PDF-письмо в android
- 27. Приложить векторы к каждым
- 28. Приложить типа к функции
- 29. Приложить к виджетному стилю
- 30. Приложить событие к классу
Большое спасибо за ответ. Я решил эту проблему в прошлом. Не помните хорошо, как, но нашли решение на неясном форуме. В любом случае, спасибо. Очень ценю усилия! –