Convertir SVG en JSON avec l'encodage Base64

Lorsqu’il s’agit de graphiques vectoriels tels que SVG, il est souvent nécessaire de convertir ces fichiers dans des formats pouvant être facilement intégrés, transmis ou stockés. Une approche pratique consiste à convertir les fichiers SVG au format JSON à l’aide de l’encodage Base64. Une telle conversion est utile pour intégrer des graphiques vectoriels directement dans des pages Web ou des applications sans requêtes HTTP supplémentaires. Cela simplifie le transfert de données via les API et les fichiers de configuration, améliore les performances en réduisant la charge du réseau et rend la génération dynamique d’interface utilisateur plus efficace.


Comment convertir SVG en JSON en Python

Afin de convertir SVG en JSON, nous utilisons l’API Aspose.SVG for Python via .NET , qui est une API de manipulation de documents riche en fonctionnalités, puissante et facile à utiliser pour la plate-forme Python. Nous considérons l’exemple de l’encodage SVG en Base64 et de l’intégration d’une chaîne Base64 dans un document JSON:


Code Python pour convertir SVG en JSON

import base64
import json
import os
from aspose.svg import *

# Create a function to convert SVG to JSON with Base64-encoded SVG data
def convert_svg_to_json(svg_path, json_path):
    # Load an SVG document
    document = SVGDocument(svg_path)

    # Save the SVG content to a temporary file
    temp_svg_path = "temp_output.svg"
    document.save(temp_svg_path)

    try:
        # Read the content from the temporary file
        with open(temp_svg_path, "r", encoding="utf-8") as svg_file:
            svg_content = svg_file.read()

        # Encode the SVG content in Base64
        encoded_svg = base64.b64encode(svg_content.encode("utf-8")).decode("utf-8")

        # Create JSON structure
        json_data = {
            "image": {
                "mime": "image/svg+xml",
                "data": encoded_svg
            }
        }

        # Write the JSON to the file
        with open(json_path, "w", encoding="utf-8") as json_file:
            json.dump(json_data, json_file, indent=4)

    finally:
        # Clean up the temporary file
        if os.path.exists(temp_svg_path):
            os.remove(temp_svg_path)

# Example usage
input_svg = "image.svg"
output_json = "image-base64.json"

convert_svg_to_json(input_svg, output_json)



Étapes pour convertir SVG en JSON en Python

  1. Utilisez la classe SVGDocument pour charger le contenu SVG à partir du chemin de fichier spécifié.
  2. Enregistrez le document SVG chargé dans un fichier temporaire. Cette étape facilite la lecture du contenu SVG sous forme de chaîne pour l’encodage.
  3. Ouvrez le fichier SVG temporaire et lisez son contenu dans une chaîne. Convertissez cette chaîne en codage Base64 pour la préparer à l’intégration dans JSON.
  4. Créez un objet JSON qui inclut le type MIME et les données SVG codées en Base64. Structurez le JSON selon vos besoins, avec des champs appropriés pour les données d’image.
  5. Enregistrez l’objet JSON construit dans le chemin de fichier spécifié. Ce fichier JSON contiendra désormais les données SVG codées en Base64.
  6. Supprimez le fichier SVG temporaire pour vous assurer qu’aucun fichier inutile n’est laissé sur le système.

L’objet JSON inclut généralement le type MIME d’une image et les données codées, comme ceci:

Code JSON avec image SVG Base64 intégrée

{
  "image": {
    "mime": "image/svg",
    "data": "base64_string..."
  }
}



Encodeurs Base64 en ligne

Aspose.SVG propose des applications en ligne gratuites pour encoder et décoder des données binaires :

  • Encodeurs Base64 sont un ensemble d’outils qui vous permettent d’encoder des données binaires dans différents formats de sortie : Plain Base64, JSON, XML, URI ou CSS.
  • Décodeur Image Base64 convertit un URI de données contenant une chaîne Base64 en une image en collant une chaîne URI dans le contrôle d’entrée.

Nos applications basées sur un navigateur fonctionnent sur toutes les plateformes, y compris Windows, Linux, Mac OS, Android et iOS. Aucun enregistrement, plugin ou installation de logiciel requis pour vous. Commencez à utiliser nos outils d’encodage/décodage Base64 en ligne de manière sûre, sécurisée et simple !

FAQ

1. Comment puis-je convertir SVG en JSON?

Aspose.SVG vous permet de convertir SVG en JSON de n’importe quelle manière, en ligne ou par programmation. Par exemple, vous pouvez encoder SVG en temps réel à l’aide de l’Encodeur en ligne SVG qui convertit vos fichiers rapidement et avec une haute qualité. Téléchargez, encodez SVG et obtenez le résultat en quelques secondes! D’autre part, vous pouvez utiliser Aspose.SVG for Python via .NET pour convertir SVG en JSON par programmation.

2. Pourquoi encoder les fichiers SVG?

Historiquement, de nombreux formats de transfert et de stockage de données, tels que HTML, XML et e-mail, reposent sur du texte plutôt que sur du code binaire. Lorsque des données binaires, par exemple, dans des fichiers SVG doivent être intégrées dans ces formats textuels, l’encodage Base64 devient nécessaire. L’encodage des fichiers SVG en Base64 leur permet d’être intégrés en toute sécurité dans les schémas XML, JSON, CSS et URI sans modification pendant le transport. Cette approche simplifie l’intégration, améliore la portabilité et améliore les temps de chargement en réduisant les requêtes HTTP.

3. Qu'est-ce que l'encodage Base64?

Le codage Base64 est une méthode de conversion de données binaires en format texte à l’aide d’un ensemble de 64 caractères ASCII qui peuvent être utilisés en toute sécurité dans des formats textuels tels que HTML, XML ou e-mail. Ce codage garantit que les données binaires, telles que les images ou les fichiers, peuvent être intégrées, transmises ou stockées dans des systèmes qui ne gèrent que du texte sans corruption de données.

4. Le codage Base64 peut-il affecter la qualité d'une image SVG?

Non, le codage Base64 n’affecte pas la qualité de l’image SVG. Le codage Base64 est un moyen de représenter des données binaires sous forme de texte, en préservant la qualité d’origine du fichier SVG. Le processus de codage convertit simplement le fichier SVG en un format texte adapté à l’intégration dans divers formats de texte tels que JSON, XML ou CSS.

Premiers pas avec l'API Python

Si vous souhaitez développer des graphiques vectoriels évolutifs et leurs applications, installez notre Aspose.SVG for Python via .NET API flexible et rapide. pip est le moyen le plus simple de télécharger et d’installer Aspose.SVG for Python via .NET API. Pour ce faire, exécutez la commande suivante:

pip install aspose-svg-net

Pour plus de détails sur l’installation de la bibliothèque Python et la configuration système requise, veuillez vous référer à la Documentation Aspose.SVG.

Autres encodeurs Base64 pris en charge

Vous pouvez convertir SVG en chaîne Base64 et l'enregistrer au format JSON, XML et CSS:

Image to Base64 (Binary-to-text encoding)
SVG to JSON (JavaScript Object Notation)
SVG to XML (Extensible Markup Language)
SVG to CSS (Cascading Style Sheets)