Изменение AcroForms
Установка пользовательского шрифта для поля формы
Поля формы в файлах Adobe PDF могут быть настроены для использования определенных шрифтов по умолчанию. Aspose.PDF позволяет разработчикам применять любой шрифт в качестве шрифта по умолчанию для поля, будь то один из 14 основных шрифтов или пользовательский шрифт. Чтобы установить и обновить шрифт по умолчанию, используемый для полей формы, Aspose.PDF имеет класс DefaultAppearance (Font font, double size, Color color). Этот класс может быть доступен с использованием com.aspose.pdf.DefaultAppearance. Чтобы использовать этот объект, используйте метод setDefaultAppearance(..) класса Field.
Следующий фрагмент кода показывает, как установить шрифт по умолчанию для поля формы PDF.
// Открыть документ
$document = new Document($inputFile);
// Получить конкретное поле формы из документа
$field = $document->getForm()->get("textbox1");
// Создать объект шрифта
$fontRepository = new FontRepository();
$font = $fontRepository->findFont("ComicSansMS");
$colors = new Color();
$blackColor = $colors->getBlack();
// Установить информацию о шрифте для поля формы
$field->setDefaultAppearance(new DefaultAppearance($font, 10, $blackColor));
// Сохранить обновленный документ
$document->save($outputFile);
$document->close();
$document->close();
Get/Set FieldLimit
Этот код демонстрирует использование класса Document для открытия документа, извлечения поля формы, установки его максимальной длины, извлечения максимальной длины с помощью методов ‘setMaxLen’ и ‘getMaxLen’.
// Открытие документа
$document = new Document($inputFile);
// Получение конкретного поля формы из документа
$field = $document->getForm()->get("textbox1");
$field->setMaxLen(10);
// Получение максимального ограничения поля с использованием DOM
$responseData = "Limit: " . $field->getMaxLen();
$document->close();
Вы также можете получить то же значение, используя пространство имен Aspose.PDF.Facades, с помощью следующего фрагмента кода.
// Открытие документа
$document = new Document($inputFile);
// Получение конкретного поля формы из документа
$field = $document->getForm()->get("textbox1");
// Получение максимального ограничения поля с использованием DOM
$responseData = "Limit: " . $field->getMaxLen();
$document->close();
Similarly, Aspose.PDF имеет метод, который получает ограничение поля, используя подход DOM. Следующий фрагмент кода показывает шаги.
// Открыть документ
$document = new Document($inputFile);
// Получить конкретное поле формы из документа
$field = $document->getForm()->get("textbox1");
// Удалить поле
$field->delete();
$document->close();
Удаление конкретного поля формы из PDF-документа
Все поля формы содержатся в коллекции Form объекта Document. Эта коллекция предоставляет различные методы, которые управляют полями формы, включая метод удаления. Если вы хотите удалить конкретное поле, передайте имя поля в качестве параметра методу удаления, а затем сохраните обновленный PDF-документ.
Следующий фрагмент кода показывает, как удалить именованное поле из PDF-документа.
// Открыть документ
$document = new Document($inputFile);
// Получить конкретное поле формы из документа
$field = $document->getForm()->get("textbox1");
// Удалить поле
$field->delete();
$document->close();
Изменение поля формы в PDF-документе
Коллекция Form объекта Document позволяет управлять полями формы в PDF-документе.
Чтобы изменить поле формы, получите поле из коллекции Form и установите его свойства. Затем сохраните обновленный PDF-документ.
Следующий фрагмент кода показывает, как изменить существующее поле формы в PDF-документе.
// Открыть документ
$document = new Document($inputFile);
// Получить конкретное поле формы из документа
$field = $document->getForm()->get("textbox1");
// Изменить значение поля
$field->setValue("Обновленное значение");
// Установить поле только для чтения
$field->setReadOnly(true);
// Сохранить обновленный документ
$document->save($outputFile);
$document->close();
Перемещение поля формы на новое место в PDF-файле
Если вы хотите переместить поле формы на новое место на странице PDF, сначала получите объект поля, а затем укажите новое значение для его метода setRect. A Rectangle объект с новыми координатами назначается методу setRect(..). Затем сохраните обновленный PDF, используя метод save объекта Document.
Следующий фрагмент кода показывает, как переместить поле формы в новое место.
// Открыть документ
$document = new Document($inputFile);
// Получить конкретное поле формы из документа
$field = $document->getForm()->get("textbox1");
// Изменить расположение поля
$field->setRect(new Rectangle(300, 400, 600, 500));
// Сохранить обновленный документ
$document->save($outputFile);
$document->close();