во-первых: это мой первый вопрос, тогда сри, если синтаксис кода не так легко прочитать, не найти способ сделать его чистым.
Я пытаюсь заполнить свой большой шаблон PDF, который я сделал с помощью Adobe Creator.
FPDM прекрасно работает с шаблоном template.php, который включен в библиотеку fpdm, но эта ошибка появляется, когда я изменяю шаблон PDF на мой после прохождения через pdftk.
Ошибка слияния FPDF: не удается найти текущее значение (/ v) для объекта аннотации
288, что-то идет не так во время разбора (распакуйте ваш pdf и
повторите) или ваш pdf поврежден.
Я не нахожу предмета по этому вопросу в интернете.
Ошибка исходит из моего шаблона PDF, причина его закодирована способом.
После открытия моего PDF в моем текстовом редакторе я увидел, что объект 288 (и другие) не имеет атрибута / v, как предполагает ошибка. Тогда я предполагаю, что способ кодирования не тот, который ожидает FPDM.
Прежде чем использовать pdftk это ошибка была: «PDF пусто» что-то в этом роде.
define ('DRUPAL_ROOT', getcwd ()); include_once DRUPAL_ROOT. '/Includes/bootstrap.inc'; drupal_bootstrap (DRUPAL_BOOTSTRAP_FULL); // # 1 не должно быть необходимым require_once 'fpdf / src / fpdf.php'; require_once 'fpdf / examples / form_filling / fpdm.php'; // Используется после тестового выигрыша $ sid = '58'; $ node = new stdClass (); $ node-> nid = '270'; $ temp_submission = webform_menu_submission_load ($ sid, $ node-> nid); // NOM - это первый идентификатор поля моего шаблона PDF. $ fields = array ( 'NOM' => 'Мое имя' ); $ pdf = новый FPDM ('Dossier_de_candidature_2ndaire_2014_adaptev1_fpdf.pdf'); $ pdf-> Load ($ fields, TRUE); $ Pdf-> Merge (); $ pdf-> Output ('Formula.pdf', 'D'); ?>
Спасибо вам !
И я выигрываю!
В конце концов я решил забыть FPDF и создать свою собственную систему, что, как мне кажется, и есть FPDF.
Не волнуйтесь, это совсем не сложно.
Загляните на этот сайт, просто поймите, как работает fdf, чтобы заполнить шаблон pdf (mapping) и .. сделайте это 🙂
http://doc.ubuntu-fr.org/pdftk
ШАГ 1. Создание контента FDF в PhP
/* A FDF content empy */
$xfdf_head = '<?xml version="1.0" encoding="UTF-8"?><xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve"><fields>';
$xml_data = '';
$xfdf_end = '</fields></xfdf>';
/* Generate all fields with field_key form webform and value form submission */
foreach ($webform['#node']->webform['components'] as $key => $value) {
if ($webform['#submission']->data[$key]['value'][0]){
$valeur = $webform['#submission']->data[$key]['value'][0];
} else {
$valeur = '';
}
$xml_data .= '
<field name="'.$webform['#node']->webform['components'][$key]['form_key'].'">
<value>'.$valeur.'</value>
</field>';
}$FDF_content = $xfdf_head.$xml_data.$xfdf_end;
ШАГ 2: Создайте ФАЙЛ FDF и запишите в него свой контент
$FDF_file = fopen('new_fdf.fdf', 'w');
fwrite($FDF_file, $FDF_content);
fclose($FDF_file);
ШАГ 3: Используйте команду PDFTK в Php (проверьте сайт вверху) [заполните эти 2 вар перед ..]
$pdftk_command = '/usr/bin/pdftk '. $pdf_template .' fill_form new_fdf.fdf output '.$new_fillup_pdf;
shell_exec($pdftk_command);
ШАГ 4: Принудительная загрузка или открытие нового PDF в PHP. (Я позволю вам найти, как это просто)
Других решений пока нет …