O arquivo ODG é um desenho criado pelo Draw, um aplicativo de edição de gráficos vetoriais disponível no pacote Apache OpenOffice. Ele contém uma ou mais páginas que podem incluir linhas, formas, símbolos e texto. O arquivo ODG é salvo na especificação OASIS OpenDocument, que é um formato baseado em XML. Para abrir os arquivos ODG com os programas de código aberto OpenOffice.org Draw e seu derivado LibreOffice Draw. No entanto, se os arquivos ODG forem convertidos para PSD, também podemos salvar camadas, o que torna fácil voltar e editar o arquivo mais tarde. Neste artigo, discutiremos a conversão do formato ODG para PSD usando a API REST.
API de processamento de imagem
Uma grande variedade de formatos de imagem está disponível no mercado e uma infinidade de APIs existem para processá-los. No entanto, nossa API baseada em REST fornece recursos exclusivos para processar os principais formatos de imagem, incluindo JPEG, BMP, TIFF, GIF, PNG, PSD, SVG, DjVu, DICOM, DNG, etc. usando uma única API. Além disso, um dos recursos mais importantes de nossas APIs é sua capacidade de lidar com todos esses formatos sem nenhuma dependência de terceiros. Execute todas as suas tarefas de processamento de imagem usando a API em nuvem. Nenhum download ou instalação de software adicional é necessário. Como as APIs são desenvolvidas de acordo com a arquitetura REST, elas podem ser acessadas em qualquer plataforma e qualquer tipo de aplicativo, como aplicativos de desktop, móveis, da Web ou híbridos.
Para facilitar ainda mais nossos clientes, criamos wrapper SDKs em torno de Cloud APIs para que você tenha todos os recursos e capacidades na linguagem de sua escolha. Neste artigo, discutiremos as capacidades do Aspose.Imaging Cloud SDK para .NET.
Instalação
O primeiro passo para usar o SDK de programação é sua instalação, e ele está disponível para download em NuGet e GitHub. Então, para instalar o SDK através do NuGet, execute o seguinte comando em uma janela de terminal:
nuget install Aspose.Imaging-Cloud
Ou você pode considerar executar o seguinte comando no gerenciador de pacotes NuGet:
PM> Install-Package Aspose.Imaging-Cloud
Instalação do Visual Studio
Também podemos adicionar diretamente a referência do Cloud SDK dentro da solução do Visual Studio:
- Abra o Solution Explorer.
- Expanda o projeto e clique com o botão direito do mouse na pasta Pacotes dentro da sua solução.
- Selecione a opção Gerenciar pacotes NuGet…
- Clique na aba Navegar e procure por “Aspose.Imaging-Cloud“.
- Clique no pacote Aspose.Imaging-Cloud, selecione a versão apropriada na aba direita e clique no botão Adicionar pacote
Assinatura gratuita da nuvem
Agora, para manter a integridade e privacidade dos dados, adicionamos uma camada de segurança, para que apenas pessoas autorizadas possam acessar o sistema. Portanto, você precisa criar uma conta de assinatura gratuita visitando Aspose.Cloud dashboard. Nenhum cartão de crédito ou outros detalhes de pagamento são necessários e você pode executar até 150 solicitações de processamento de documentos gratuitas.
Você pode usar sua conta do GitHub ou Google para simplesmente se inscrever ou clicar no botão Criar uma nova conta e fornecer as informações necessárias. Agora faça login no painel usando credenciais, expanda a seção Applications do painel e role para baixo em direção à seção Client Credentials para ver os detalhes do Client ID e do Client Secret.
Converter ODG para PSD em C#
Siga os passos abaixo para realizar a conversão usando C# .NET.
- Primeiro, crie o objeto ImagingApi passando os detalhes do ID do cliente e do segredo do cliente como argumentos.
- Em segundo lugar, leia a imagem ODG da unidade local e passe-a como um argumento para o objeto UploadFileRequest.
- Em terceiro lugar, chame o método UploadFile(…) do ImagingApi para enviar o arquivo para o armazenamento em nuvem.
- Agora precisamos criar uma instância da classe ConvertImageRequest que recebe o nome da imagem e o formato de saída resultante como argumentos.
- Em seguida, chame o método ConvertImage(…) da classe ImagingApi para iniciar a operação de conversão.
- Por fim, salve a saída do fluxo na unidade local usando File.Create (o método personalizado é compartilhado abaixo).
// Obter ClientID de https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// criar instância ImagingApi
ImagingApi imagingApi= new ImagingApi( clientSecret,clientID,"https://api.aspose.cloud/");
// caminho da imagem ODG de entrada
string imageFile = "file-example_PDF.odg";
// formato de arquivo de saída
string format = "PSD";
// nome do arquivo resultante
string resultantFile = "Converted.psd";
try
{
// carregue o arquivo da unidade local
using (var file = System.IO.File.OpenRead(@"C:\Users\shahbnay\Desktop\" + imageFile))
{
// criar instância FileUploadRequest
var uploadFileRequest = new UploadFileRequest(imageFile, file);
// Carregar imagem para o Cloud Storage
imagingApi.UploadFile(uploadFileRequest);
}
// Criar ConvertImageRequest
var response = new ConvertImageRequest(imageFile, format, null, null);
// iniciar a operação de conversão
Stream updatedImage = imagingApi.ConvertImage(response);
// imprimir mensagem de sucesso se a conversão for bem-sucedida
if (response != null && response.Equals("OK"))
{
Console.WriteLine("ODG successfully converted to PSD !");
Console.ReadKey();
}
// método personalizado para salvar o arquivo resultante na unidade do sistema local
saveToDisk(updatedImage, @"C:\Users\shahbnay\Desktop\" + resultantFile);
}catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
// método personalizado para salvar o fluxo como instância de arquivo
static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
ODG para PSD usando o comando cURL
Conforme mencionado anteriormente, as Cloud APIs são desenvolvidas de acordo com a arquitetura REST, portanto, elas também podem ser acessadas usando os comandos cURL. No entanto, antes de executar a operação de conversão de arquivo, tente criar um token de acesso JWT com base nas credenciais do seu cliente. Execute o seguinte comando cURL para gerar o token de acesso JWT.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4db2f826-bf9c-42e7-8b2a-8cbca2d15553&client_secret=d757548a9f2558c39c2feebdf85b4c44" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
Como usaremos a API, ela espera que o arquivo ODG de entrada já esteja disponível no armazenamento em nuvem. Portanto, use o seguinte comando cURL para fazer upload do arquivo para o armazenamento em nuvem.
curl -X PUT "https://api.aspose.cloud/v3.0/imaging/storage/file/file-example_PDF.odg" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: multipart/form-data" \
-d {"File":{}}
Agora que carregamos o arquivo ODG no armazenamento em nuvem, tente usar o seguinte comando para converter o arquivo para o formato PSD.
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/file-example_PDF.odg/convert?format=PSD" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o Converted.psd
Para fins de teste, o arquivo ODG de amostra usado no exemplo acima pode ser baixado de file-examplePDF.odg.
Conclusão
Neste artigo, discutimos os recursos do Aspose.Imaging Cloud para formatos de imagem populares. Além disso, discutimos especificamente os detalhes de como podemos converter arquivos de imagem ODG para o formato PSD usando um snippet de código C# .NET. Na seção subsequente, discutimos os detalhes de como podemos executar a mesma conversão usando os comandos cURL. Além disso, observe que os Cloud SDKs são desenvolvidos sob a licença MIT, portanto, o código-fonte completo está disponível no GitHub.
Caso você encontre algum problema ao usar a API ou tenha alguma dúvida, sinta-se à vontade para entrar em contato conosco através do Fórum de suporte gratuito ao produto.
Artigos relacionados
Recomendamos visitar os seguintes links para saber mais sobre: