Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как связать текстовый файл со списком фамилий с формой в PDF

Олег Мастер (1807), на голосовании 1 месяц назад
Есть файл PDF с формой ComboBox (выбор). Формы составляются с помощью программы XChange Editor. С помощью бокового меню можно легко добавлять и удалять элементы списка. Но файлом будут пользоваться другие сотрудники ,у которых установлен простой Acrobat Reader. Таким образом, пользователи смогут только выбирать имеющиеся элементы из списка, но не смогут изменять, добавлять, удалять элементы.
Решил найти выход из проблемы - привязать текстовый файл. В программе XChange Editor есть кнопка "Импортировать данные формы", но при действии этой кнопки содержимое не изменяется.
Голосование за лучший ответ
Артём Таптыков Просветленный (24389) 2 месяца назад
Значит так, братан, ты хочешь сделать так, чтобы пацаны с простым Acrobat Reader'ом могли только выбирать фамилии, а менять их — ни-ни. Вроде всё ясно. Ты сделал PDF с формой, где есть ComboBox, куда должны загружаться эти фамилии из текстового файла. Но чё-то не сходится с импортом через XChange Editor, и он тебе не заливает эти фамилии, как надо. Сейчас разберёмся, по-пацански объясню.

### Алгоритм действий:

1. **Создаём текстовый файл**
Фамилии кидаешь в обычный текстовый файл, каждая с новой строки. Типа:
 Иванов 
Петров
Сидоров
Файл сохраняешь как `.txt`, понятно.

2. **Работа с PDF формой**
Ты в XChange Editor уже настроил ComboBox, всё чётко. Теперь надо, чтобы этот файл подтянул данные в форму. XChange Editor, к сожалению, напрямую не подцепляет из текста элементы, но есть обходные манёвры.

3. **Импорт через JavaScript в PDF**
Хочешь, чтобы файлик подтягивался в PDF-шку? В PDF-шку можно закинуть JavaScript, который будет брать данные из текстовика и пулять их в ComboBox. Короче, идёшь так:
- Открываешь PDF в XChange Editor.
- Находишь свой ComboBox, правой кнопкой — и выбираешь настройки.
- В разделе "Действия" можешь вкинуть скрипт.

Вот такой пример скрипта:
 var f = this.getField("ComboBoxName");  // Имя твоего ComboBox 
var xhr = new XMLHttpRequest();
xhr.open("GET", "/путь/к/твоему/файлу.txt", false);
xhr.send();
var names = xhr.responseText.split("\n"); // Разделяем по строчкам
for (var i = 0; i < names.length; i++) {
f.insertItemAt(i, names[i].trim());
}
Ну типа того, понимаешь? Это если ты текстовик кидаешь рядом с PDF-шкой. Если надо его прямо зашить в PDF — тут другой разговор, более сложный.

4. **Сохранение**
После того, как залил этот скрипт, сохраняешь PDF. Теперь каждый раз, как пацаны будут открывать документ, он будет подтягивать фамилии из текстового файла.

### Почему не работает импорт?
Это может быть из-за того, что сама форма не подхватывает данные как надо — может быть неправильно настроено соответствие полей или форматы не те. Данные формы можно импортировать только в специфичном формате, типа XML или FDF, а не напрямую из текстовика.

Короче, если так не прокатит, надо либо скрипты вставлять, либо вручную через настройки полей формы в XChange Editor пулять.
ОлегМастер (1807) 2 месяца назад
Спасибо, сейчас попробую разобраться
Артём Таптыков Просветленный (24389) Олег, Без базара, попробуй, если что — всегда рад помочь. Если что-то не получится или возникнут вопросы, кидай сюда. Удачи!
Похожие вопросы