Импорт и экспорт данных формы
Aspose.PDF for Java поддерживает несколько распространённых форматов обмена данными для интерактивных форм.
Импорт данных форм из XML
Используйте этот пример, когда значения формы хранятся в XML‑файле и их нужно применить к PDF‑форме.
- Создайте фасад Form и привяжите к нему исходный PDF.
- Откройте поток входного XML и импортируйте данные в форму.
- Сохраните обновлённый PDF‑документ.
public static void importDataFromXml(Path inputFile, Path dataFile, Path outputFile) throws Exception {
Form form = new Form();
try (InputStream stream = Files.newInputStream(dataFile)) {
form.bindPdf(inputFile.toString());
form.importXml(stream);
form.save(outputFile.toString());
} finally {
form.close();
}
}
Экспорт данных формы в XML
Используйте этот пример, когда вам нужно сохранить текущие значения AcroForm в формате XML.
- Создайте фасад Form и привяжите к нему исходный PDF.
- Откройте поток вывода для XML‑файла.
- Экспортируйте данные формы в XML.
public static void exportDataToXml(Path inputFile, Path outputFile) throws Exception {
Form form = new Form();
try (OutputStream stream = Files.newOutputStream(outputFile)) {
form.bindPdf(inputFile.toString());
form.exportXml(stream);
} finally {
form.close();
}
}
Импорт данных форм из FDF
Используйте этот пример, когда значения формы приходят в формате обмена FDF.
- Создайте фасад Form и привяжите к нему исходный PDF.
- Откройте входной поток FDF и импортируйте данные.
- Сохраните заполненный документ PDF.
public static void importDataFromFdf(Path inputFile, Path dataFile, Path outputFile) throws Exception {
Form form = new Form();
try (InputStream stream = Files.newInputStream(dataFile)) {
form.bindPdf(inputFile.toString());
form.importFdf(stream);
form.save(outputFile.toString());
} finally {
form.close();
}
}
Экспорт данных форм в FDF
Используйте этот пример, когда значения формы PDF должны быть переданы в виде файла FDF.
- Создайте фасад Form и привяжите к нему исходный PDF.
- Откройте выходной поток для файла FDF.
- Экспортируйте данные формы в формате FDF.
public static void exportDataToFdf(Path inputFile, Path outputFile) throws Exception {
Form form = new Form();
try (OutputStream stream = Files.newOutputStream(outputFile)) {
form.bindPdf(inputFile.toString());
form.exportFdf(stream);
} finally {
form.close();
}
}
Импорт данных форм из XFDF
Используйте этот пример, когда данные формы предоставлены в формате XFDF и их необходимо объединить с PDF.
- Создайте фасад Form и привяжите к нему исходный PDF.
- Откройте входной поток XFDF и импортируйте значения.
- Сохраните обновлённый PDF‑документ.
public static void importDataFromXfdf(Path inputFile, Path dataFile, Path outputFile) throws Exception {
Form form = new Form();
try (InputStream stream = Files.newInputStream(dataFile)) {
form.bindPdf(inputFile.toString());
form.importXfdf(stream);
form.save(outputFile.toString());
} finally {
form.close();
}
}
Экспорт данных форм в XFDF
Используйте этот пример, когда вам нужен файл обмена на основе XML для значений AcroForm.
- Создайте фасад Form и привяжите к нему исходный PDF.
- Откройте выходной поток для файла XFDF.
- Экспортируйте текущие значения формы в XFDF.
public static void exportDataToXfdf(Path inputFile, Path outputFile) throws Exception {
Form form = new Form();
try (OutputStream stream = Files.newOutputStream(outputFile)) {
form.bindPdf(inputFile.toString());
form.exportXfdf(stream);
} finally {
form.close();
}
}
Извлечение полей формы в JSON
Используйте этот пример, когда значения формы должны быть экспортированы в легковесное представление JSON.
- Откройте PDF с помощью фасада Form.
- Переберите имена полей и сериализуйте их значения в JSON‑текст.
- Запишите содержимое JSON в целевой файл.
public static void extractFormFieldsToJson(Path inputFile, Path outputFile) throws Exception {
Form form = new Form(inputFile.toString());
try {
StringBuilder json = new StringBuilder();
json.append("{\n");
String[] fieldNames = form.getFieldNames();
for (int i = 0; i < fieldNames.length; i++) {
String fieldName = fieldNames[i];
json.append(" \"").append(escapeJson(fieldName)).append("\": \"")
.append(escapeJson(form.getField(fieldName))).append("\"");
if (i < fieldNames.length - 1) {
json.append(",");
}
json.append("\n");
}
json.append("}\n");
Files.writeString(outputFile, json.toString());
} finally {
form.close();
}
}
Повторно использование помощника извлечения JSON
Используйте этот пример, когда вам нужен выделенный метод‑обёртка, который делегирует основной процесс экспорта JSON.
- Вызовите существующий вспомогательный метод извлечения JSON, указав исходный PDF и путь вывода.
- Используйте повторно ту же логику извлечения, не дублируя код сериализации.
public static void extractFormFieldsToJsonDoc(Path inputFile, Path outputFile) throws Exception {
extractFormFieldsToJson(inputFile, outputFile);
}