Как я могу изменить .xfdl файлы? (Обновление # 1)

голоса
13

.XFDLРасширение файла идентифицирует XFDLотформатированные файлы документов. Они принадлежат к стандарту форматирования документа и шаблона в XML-основе. Этот формат так же , как формат XML - файл , однако, содержит уровень шифрования для использования в безопасной связи.

Я знаю , как для просмотра XFDL файлы с помощью программы просмотра файлов я нашел здесь . Я также могу изменять и сохранять эти файлы, выполнив Файл: Сохранить / Сохранить как. Я хотел бы , однако, чтобы изменить эти файлы на лету. Какие-либо предложения? Является ли это вообще возможно?

Обновление # 1: я успешно декодируется и unziped .xfdlв файл XML , который я могу затем редактировать. Теперь, я ищу способ , чтобы перекодировать измененный файл XML обратно в base64-Gzip ( с помощью Ruby , или из командной строки)

Задан 04/08/2008 в 22:42
источник пользователем
На других языках...                            


3 ответов

голоса
4

Если кодировка base64 , то это решение я наткнулся на веб - ссылки :

«Декодирование XDFL файлы, сохраненные с„кодирования = base64“Файлы, сохраненные с.:

application/vnd.xfdl;content-encoding="base64-gzip"

простые в кодировке base64 GZIP файлов. Они могут быть легко восстановлены XML первым декодирования, а затем расстегивать их. Это может быть сделано следующим образом на Ubuntu:

sudo apt-get install uudeview uudeview -i yourform.xfdl gunzip -S "" < UNKNOWN.001 > yourform-unpacked.xfdl 

Первая команда установит uudeview, пакет, который может декодировать base64, среди других. Вы можете пропустить этот шаг, когда он будет установлен.

Предполагая, что ваша форма сохраняется как «yourform.xfdl», команда uudeview будет декодировать содержимое как «UNKNOWN.001», так как XFDL файл не содержит имя файла. «-i» делает uudeview uninteractive, удалите этот параметр для большего контроля.

Последняя команда gunzips декодированного файла в файл с именем 'yourform-unpacked.xfdl. "

Другим возможным решением - здесь

Side Примечание: Блок цитируемый <код> не работает для длинных строк кода

Ответил 04/08/2008 в 23:02
источник пользователем

голоса
2

Единственный ответ, который я могу думать прямо сейчас - прочитайте руководство по uudeview.

Столько, сколько я хотел бы помочь вам, я не специалист в этой области, так что вам придется ждать, пока кто-то еще, чтобы прибыть знающих сюда и помочь вам.

В то же время я могу дать вам ссылки на некоторые документы, которые могут помочь вам:

Извините, если это не поможет.

Ответил 04/08/2008 в 23:18
источник пользователем

голоса
1

Вы не должны выйти из рубина, чтобы сделать это, можно использовать модуль Base64 в Ruby, чтобы закодировать документ, как это:

irb(main):005:0> require 'base64'
=> true

irb(main):007:0> Base64.encode64("Hello World")
=> "SGVsbG8gV29ybGQ=\n"

irb(main):008:0> Base64.decode64("SGVsbG8gV29ybGQ=\n")
=> "Hello World"

И вы можете позвонить GZIP / разархивировать с помощью Kernel # системы:

system("gzip foo.something")
system("gunzip foo.something.gz")
Ответил 06/08/2008 в 14:37
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more