Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
Библиотеки и платформы, упомянутые здесь, хороши, но если все, что Вы хотите сделать, заполняют форму и сглаживают его, я рекомендую инструмент командной строки, названный 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 (ниже) рекомендует его.
Похож это было покрыто прежде . Нажмите через для соответствующих норм, пользующихся библиотекой Zend Framework PDF.
Мы используем PDFLib на работе. Заплаченная версия не является очень дорогой, и существует более ограниченный выпуск с открытым исходным кодом, если Вы неспособны выйти из оболочки для заплаченной версии.
Я записал библиотеку Perl, CAM:: PDF, с интерфейс командной строки , который может решить это. Я попытался использовать решение FDF несколько лет назад, но нашел, что оно слишком усложнило, который является, почему я записал CAM:: PDF во-первых. Моя библиотека использует несколько эвристики для замены формы требуемым текстом, таким образом, это не прекрасно. Но это работает большую часть времени, и это быстро, свободно и довольно просто для использования.
Я имел много успеха с использованием формы, которая отправляет сценарию 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 начать.
создание файла fdf с помощью php: см. http://www.php.net/manual/en/book.fdf.php
, затем заполните его в pdf с помощью pdftk (см. выше)