Question

Le .XFDL l'extension de fichier identifie XFDL Fichiers de documents formatés.Ceux-ci appartiennent à la norme de formatage de documents et de modèles basée sur XML.Ce format est exactement comme le format de fichier XML, mais il contient un niveau de cryptage destiné à être utilisé dans les communications sécurisées.

Je sais comment afficher les fichiers XFDL à l'aide d'une visionneuse de fichiers que j'ai trouvée ici.Je peux également modifier et enregistrer ces fichiers en faisant Fichier:Enregistrer/Enregistrer sous.J'aimerais cependant modifier ces fichiers à la volée.Aucune suggestion?Est-ce seulement possible?

Mise à jour n°1 :J'ai maintenant décodé et décompressé avec succès un .xfdl dans un fichier XML que je peux ensuite modifier.Maintenant, je cherche un moyen de réencoder le fichier XML modifié en base64-gzip (en utilisant Ruby ou la ligne de commande)

Était-ce utile?

La solution

Si l'encodage est base64 alors c'est la solution sur laquelle je suis tombé par hasard sur le Web lien :

"Décodage des fichiers XDFL enregistrés avec 'encoding=base64'.Fichiers enregistrés avec :

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

sont de simples fichiers gzip codés en base64.Ils peuvent être facilement restaurés au format XML en les décodant d'abord, puis en les décompressant.Cela peut être fait comme suit sur Ubuntu :

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

La première commande installera uudeview, un package capable de décoder le base64, entre autres.Vous pouvez ignorer cette étape une fois installée.

En supposant que votre formulaire soit enregistré sous « yourform.xfdl », la commande uudeview décodera le contenu comme « UNKNOWN.001 », puisque le fichier xfdl ne contient pas de nom de fichier.L'option '-i' rend uudeview non interactif, supprimez cette option pour plus de contrôle.

La dernière commande compresse le fichier décodé dans un fichier nommé « yourform-unpacked.xfdl »."

Un autre solution possible - ici

Remarque latérale :Le bloc cité < code > ne fonctionne pas pour les longues chaînes de code

Autres conseils

La seule réponse à laquelle je peux penser en ce moment est : lisez le manuel d'uudeview.

Même si j'aimerais vous aider, je ne suis pas un expert dans ce domaine, vous devrez donc attendre que quelqu'un de plus compétent vienne ici et vous aide.

En attendant, je peux vous donner des liens vers quelques documents qui pourraient vous aider :

Désolé si cela ne vous aide pas.

Vous n'avez pas besoin de sortir de Ruby pour ce faire, vous pouvez utiliser le module Base64 de Ruby pour encoder le document comme ceci :

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"

Et vous pouvez appeler gzip/gunzip en utilisant Kernel#system :

system("gzip foo.something")
system("gunzip foo.something.gz")
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top