Acrobat, FDF, PHP и функция fdf_get_value

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
Druqn
Сообщения: 1
Зарегистрирован: 23 авг 2004, 20:27

Бьюсь уже второй день. Програмиированием в явном виде занимался достаточно давно, лет 15 назад. До вчерашнего дня даже не пытался узнать, что такое PHP. Учебник скачан, вперед и первое разочарование. То ли лыжи не едут то ли что еще.
Есть задача создать форму в Акробате с последующим ее заполнением в браузере и накоплением полей в базе данных.

Значения полей русские. Акробат в этом случае использует юникод, а латиница идет в чиcтом виде. Это все видно если сохранить поля в файлик *.fdf, причем юникод у них со странностями - в начале каждого поля присутствует пара символов "юя"

Завожу в форме кнопку submit и говорю ей передавть данные скрипту в виде FDF. Сами адобовцы утвреждают что этот формат наиболее продвинутый и формат HTTP POST оставлен для совместимости со старыми скриптами.
Цепляю модуль FDFTK.dll к PHP, пишу скрипт.

$fdf = fdf_open_string($HTTP_FDF_DATA);
$text10 = fdf_get_value($fdf, "Text1.0");

и наблюдаю, что в переменную попадает только первое слово из русской фразы введенной в поле в формате UTF-16, причем "юя" там тоже есть. Если поле заполнено по английски, то попадает в переменную нормально в iso кодировке. Срубается возможно на том, что пробел записывается в кодировке 00 20, а все остальное 04 ХХ

Качнул тулкит с адобы, там есть примеры и скрипты. Пробовал на их примере с разбором FDF потока и cgi скриптом. Аналогично.

Если передавать данные из формы в виде HTML, то там есть выбор в какой кодировке выдавать, и все передается корректно. Вот только FDF файл не создать, а хотелось бы, так как файл создается корректно, можно внести информацию в поля и вернуть данные в документ.

Пробовал еще так:

В поле Text1.0 строка "Текст по русски"
$text10 = fdf_get_value($fdf, "Text1.0");
$err = fdf_set_value($fdf, "Text1.0", $text10);

После возврата в документ в поле остается только "Текст"

Кто нибудь проходил аналогичные муки? Пока как вариант при заполнении формы генерить два запроса к скрипту - один HTML для заполнения базы, второй FDF для создания файла.
WBR,
Alexander
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

ами адобовцы утвреждают что этот формат наиболее продвинутый и формат HTTP POST оставлен для совместимости со старыми скриптами
Юзай HTTP POST и не мучай себе мозг. POST вечен.
2B OR NOT(2B) = FF
Ответить