Converter SVG em JSON com codificação Base64

Ao lidar com gráficos vetoriais como SVG, muitas vezes é necessário converter esses arquivos em formatos que possam ser facilmente incorporados, transmitidos ou armazenados. Uma abordagem prática é converter arquivos SVG para o formato JSON usando codificação Base64. Essa conversão é útil para incorporar gráficos vetoriais diretamente em páginas da Web ou aplicativos, sem solicitações HTTP extras. Isso simplifica a transferência de dados por meio de APIs e arquivos de configuração, melhora o desempenho ao reduzir a carga da rede e torna a geração de UI dinâmica mais eficiente.


Como converter SVG para JSON em Python

Para converter SVG em JSON, usamos a API Aspose.SVG for Python via .NET , que é uma API de manipulação de documentos rica em recursos, poderosa e fácil de usar para a plataforma Python. Consideramos o exemplo de codificação SVG para Base64 e incorporação de string Base64 no documento JSON:


Código Python para converter SVG em JSON

import base64
import json
import os
import aspose.svg as assvg

# 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 = assvg.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)



Etapas para converter SVG em JSON em Python

  1. Use a classe SVGDocument para carregar o conteúdo SVG do caminho de arquivo especificado.
  2. Salve o documento SVG carregado em um arquivo temporário. Esta etapa facilita a leitura do conteúdo SVG como uma string para codificação.
  3. Abra o arquivo SVG temporário e leia seu conteúdo em uma string. Converta esta string em codificação Base64 para prepará-la para incorporação em JSON.
  4. Crie um objeto JSON que inclua o tipo MIME e os dados SVG codificados em Base64. Estruture o JSON conforme necessário, com campos apropriados para os dados da imagem.
  5. Salve o objeto JSON construído no caminho de arquivo especificado. Este arquivo JSON agora conterá os dados SVG codificados em Base64.
  6. Remova o arquivo SVG temporário para garantir que nenhum arquivo desnecessário seja deixado no sistema.

O objeto JSON normalmente inclui o tipo MIME de uma imagem e dados codificados, assim:

Código JSON com imagem SVG Base64 incorporada

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



Codificadores Base64 on-line

Aspose.SVG oferece aplicativos online gratuitos para codificar e decodificar dados binários:

  • Codificadores Base64 são um conjunto de ferramentas que permitem codificar dados binários em vários formatos de saída: Plain Base64, JSON, XML, URI ou CSS.
  • Image Base64 Decoder converte um URI de dados contendo uma string Base64 em uma imagem colando uma string URI no controle de entrada.

Nossos aplicativos baseados em navegador funcionam em todas as plataformas, incluindo Windows, Linux, Mac OS, Android e iOS. Nenhum registro, plug-in ou instalação de software é necessário para você. Comece a usar nossas ferramentas on-line de codificação/decodificação Base64 de maneira segura, segura e fácil!

FAQ

1. Como posso converter SVG em JSON?

Aspose.SVG permite converter SVG em JSON de qualquer forma – online ou programaticamente. Por exemplo, pode codificar SVG em tempo real utilizando o Codificador SVG que converte os seus ficheiros de forma rápida e elevada. Faça o upload, codifique SVG e obtenha o resultado em poucos segundos! Por outro lado, pode utilizar a API Aspose.SVG para Python via .NET para converter SVG em JSON programaticamente.

2. Porquê codificar ficheiros SVG?

Historicamente, muitos formatos de transferência e armazenamento de dados, como HTML, XML e e-mail, dependem de texto em vez de código binário. Quando os dados binários, por exemplo, em ficheiros SVG necessitam de ser incorporados nestes formatos baseados em texto, a codificação Base64 torna-se necessária. A codificação de ficheiros SVG em Base64 permite que estes sejam incorporados de forma segura em esquemas XML, JSON, CSS e URI sem modificação durante o transporte. Esta abordagem simplifica a integração, melhora a portabilidade e melhora os tempos de carregamento, reduzindo os pedidos HTTP.

3. O que é a codificação Base64?

A codificação Base64 é um método para converter dados binários para um formato de texto utilizando um conjunto de 64 caracteres ASCII que são seguros para utilização em formatos baseados em texto, como HTML, XML ou e-mail. Esta codificação garante que os dados binários, como imagens ou ficheiros, podem ser incorporados, transmitidos ou armazenados em sistemas que apenas lidam com texto sem corrupção de dados.

4. A codificação Base64 pode afetar a qualidade de uma imagem SVG?

Não, a codificação Base64 não afeta a qualidade da imagem SVG. A codificação Base64 é uma forma de representar dados binários como texto, preservando a qualidade original do ficheiro SVG. O processo de codificação converte simplesmente o ficheiro SVG para um formato de texto adequado para incorporação em vários formatos de texto, como JSON, XML ou CSS.

Introdução à API Python

Se você deseja desenvolver gráficos vetoriais escaláveis ​​e seus aplicativos, instale nosso Aspose.SVG for Python via .NET API flexível e de alta velocidade. pip é a maneira mais fácil de baixar e instalar Aspose.SVG for Python via .NET API. Para fazer isso, execute o seguinte comando:

pip install aspose-svg-net

Para obter mais detalhes sobre a instalação da biblioteca Python e os requisitos do sistema, consulte Documentação Aspose.SVG.

Outros codificadores Base64 suportados

Você pode converter SVG em string Base64 e salvá-lo como JSON, XML e 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)