Заполнение форм PDF с [закрытым] PHP

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
47
задан jah 14 June 2015 в 10:59
поделиться

6 ответов

Библиотеки и платформы, упомянутые здесь, хороши, но если все, что Вы хотите сделать, заполняют форму и сглаживают его, я рекомендую инструмент командной строки, названный pdftk (Инструментарий PDF).

Видят https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit /

, можно назвать командную строку от php, и команда

pdftk formfile.pdf fill_form fieldinfo.fdf output outputfile.pdf flatten

, необходимо будет найти формат файла FDF для генерации информации для заполнения полей. Вот хорошая ссылка для этого:

http://www.tgreer.com/fdfServe.html

[Редактирование: вышеупомянутая ссылка, кажется, вне комиссии. Вот еще некоторая информация...]

, команда pdftk может генерировать файл FDF из файла формы PDF. Можно тогда использовать сгенерированный файл FDF в качестве образца. Поля формы являются частью файла FDF, который похож

...
<< /T(f1-1) /V(text of field) >>
<< /T(f1-2) /V(text of another field) >>
...

, Вы могли бы также проверить php-pdftk, который является библиотекой, характерной для PHP. Я не использовал его, но комментатор ГЃlvaro (ниже) рекомендует его.

47
ответ дан Jeff Puckett 26 November 2019 в 19:49
поделиться

Похож это было покрыто прежде . Нажмите через для соответствующих норм, пользующихся библиотекой Zend Framework PDF.

1
ответ дан Community 26 November 2019 в 19:49
поделиться

Мы используем PDFLib на работе. Заплаченная версия не является очень дорогой, и существует более ограниченный выпуск с открытым исходным кодом, если Вы неспособны выйти из оболочки для заплаченной версии.

1
ответ дан foxxtrot 26 November 2019 в 19:49
поделиться

Я записал библиотеку Perl, CAM:: PDF, с интерфейс командной строки , который может решить это. Я попытался использовать решение FDF несколько лет назад, но нашел, что оно слишком усложнило, который является, почему я записал CAM:: PDF во-первых. Моя библиотека использует несколько эвристики для замены формы требуемым текстом, таким образом, это не прекрасно. Но это работает большую часть времени, и это быстро, свободно и довольно просто для использования.

1
ответ дан Chris Dolan 26 November 2019 в 19:49
поделиться

Я имел много успеха с использованием формы, которая отправляет сценарию PHP, который использует fpdf и передает в полях формы, как получают переменные (возможно, не большая лучшая практика, но это работает).

 <?php
require('fpdf.php');
$pdf=new PDF();
$pdf->AddPage();
$pdf->SetY(30);
$pdf->SetX(100);
$pdf->MultiCell(10,4,$_POST['content'],0,'J');
$pdf->Output();
?>

и Вы могли иметь что-то вроде этого.

  <form action="fooPDF.php" method="post">
     <p>PDF CONTENT: <textarea name="content" ></textarea></p>
     <p><input type="submit" /></p>
    </form>

Этот скелетный пример должен помочь ya начать.

3
ответ дан josh.chavanne 26 November 2019 в 19:49
поделиться

создание файла fdf с помощью php: см. http://www.php.net/manual/en/book.fdf.php

, затем заполните его в pdf с помощью pdftk (см. выше)

3
ответ дан 26 November 2019 в 19:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: