Сведения о вопросе

FromRussia

16:03, 1st July, 2020

Теги

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

Просмотров: 490   Ответов: 3

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

Я знаю, как просмотреть файлы XFDL с помощью средства просмотра файлов, которое я нашел здесь . Я также могу изменить и сохранить эти файлы, сделав File:Save/Save As. Однако я хотел бы изменить эти файлы на лету. Есть какие-нибудь предложения? Возможно ли это вообще?

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



  Сведения об ответе

park

18:03, 1st July, 2020

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

"Декодирование XDFL файлов, сохраненных с 'encoding=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 неактивным, удалите эту опцию для большего контроля.

Последняя команда разархивирует декодированный файл в файл с именем "yourform-unpacked.xfdl". "

Еще одно возможное решение - здесь

Боковое Примечание: блок quoted < code > не работает для длинных строк кода


  Сведения об ответе

dumai

18:03, 1st July, 2020

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

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

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

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


  Сведения об ответе

ASSembler

18:03, 1st July, 2020

Вам не нужно выходить из Ruby, чтобы сделать это, можно использовать модуль 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/gunzip с помощью Kernel#system:

system("gzip foo.something")
system("gunzip foo.something.gz")


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться