Кажется сумасшедшим, но в то время как Libre Base может экспортировать форму в формате PDF, нет возможности импортировать заполненные данные формы из PDF в базу Libre.
Одна из идей - извлечь данные в формате PDF к FDF (или недружественному CSV), а затем преобразуйте его в дружественный CSV, после чего можно скопировать и вставить данные CSV в базу Libre.
Как конвертировать PDF, FDF или недружественный CSV-файл в дружественный CSV с: Строка 1: «FieldName1, FieldName2, ...» Строка 2: «Value1, Value2, ...»* Примечание. Вы также можете использовать Libre Base для экспорта пустой формы в виде XML или HTML, но я не знаю, как вводить данных в эти файлы и не импортировать эти данные обратно в базу.
Отвечая особенно на ваш комментарий здесь:
Я хочу, чтобы Base могла декодировать PDF-файл, созданный базойНет, не разумно ожидать, что любая программа должна быть в состоянии читать PDF, который он сгенерировал, а не ожидая, что принтер сможет отбросить лист, который он только что распечатал, и вернув вам документ.
PDF - это формат печати / архива. Это, в основном, (1) последовательность инструкций типа «положить слово не разумным в положение x, y на странице». Итак, когда вы видите в формате PDF:
Невозможно сказать компьютерную программу, если это две строки по трем столбцам или две строки на два столбца, содержащие пробелы в нем ( 2). Число 3 может быть равно 2.95. Вы не можете знать, потому что информации просто нет. Так что нет, вы никогда не думаете, что возвращение из PDF в ваши данные должно быть возможным (3).
Однако вы можете попытаться преобразовать информацию в более управляемые вещи, например, pdftotext (4):
[romano:~/tmp] 1 % pdftotext Untitled1.pdf; cat Untitled1.txt
Sheet1
shiny
mint
new
used
3
1
Page 1
... а затем использовать скрипты, ручное редактирование, независимо от того, как его массировать.
Сноски:
(1) действительно, действительно преуменьшение здесь.
(2) На самом деле это 2 на 2.
(3) Я даже видел PDF-файлы, где программа-разработчик продолжала растягиваться, чтобы сделать это практически невозможным, помещая каждый глиф самостоятельно и случайным образом на странице, чтобы затруднить его вмешательство. Нет, я больше не могу найти пример ...
(4) из пакета poppler-utils