Converter DGN para PSD com GroupDocs.Conversion para .NET

Introdução

Se você precisa transformar desenhos AutoCAD DGN em arquivos Photoshop PSD, groupdocs conversion .net é a biblioteca confiável que faz o trabalho pesado. Neste tutorial, você descobrirá por que esta API é a escolha principal para desenvolvedores, como instalá‑la e o código exato que você precisa para executar uma transformação DGN‑para‑PSD impecável. Ao final, você estará pronto para incorporar a lógica de conversão em qualquer aplicação .NET e melhorar a eficiência do seu fluxo de trabalho.

Respostas Rápidas

  • Qual biblioteca lida com a conversão DGN → PSD? GroupDocs.Conversion for .NET.
  • Preciso de uma licença para produção? Sim – uma licença completa remove os limites da versão de avaliação.
  • Posso converter arquivos DGN com várias páginas? Cada página é salva como um arquivo PSD individual.
  • Quais versões do .NET são suportadas? .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+.
  • Quanto tempo leva uma conversão típica? Aproximadamente 0.5 s por página para arquivos com menos de 200 páginas em um servidor padrão.

O que é groupdocs conversion .net?

GroupDocs.Conversion para .NET é uma API de alto desempenho que permite a conversão programática entre 50+ formatos de documentos, imagens e CAD — incluindo DGN para PSD — sem exigir aplicativos externos. Ela processa arquivos na memória, o que reduz a sobrecarga de I/O e melhora a latência. A biblioteca também oferece suporte interno para streaming, processamento em lote e registro detalhado, tornando-a adequada tanto para pequenas utilidades quanto para pipelines empresariais de grande escala.

Por que usar GroupDocs.Conversion para DGN → PSD?

GroupDocs.Conversion oferece um amplo portfólio de formatos, arquitetura escalável e renderização de alta fidelidade. Ela pode lidar com arquivos DGN de várias centenas de páginas mantendo o uso de memória abaixo de 150 MB ao transmitir as páginas uma a uma. A precisão é mantida em 99,9 % de fidelidade, e a conversão típica de um arquivo DGN de 150 páginas é concluída em menos de 45 segundos em uma CPU de 2,4 GHz.

Pré‑requisitos

  • GroupDocs.Conversion for .NET (Version 25.3.0 or later)
  • Um ambiente de desenvolvimento .NET (Visual Studio 2022 ou VS Code)
  • Conhecimento básico de C#

Como instalar o GroupDocs.Conversion para .NET?

Você pode instalar o pacote via NuGet. Abra o Package Manager Console no Visual Studio e execute:

Install-Package GroupDocs.Conversion

Ou, se preferir a .NET CLI, execute:

dotnet add package GroupDocs.Conversion

Ambos os comandos baixam os binários estáveis mais recentes e adicionam as referências necessárias ao arquivo do seu projeto.

Como posso obter uma licença do GroupDocs conversion?

Uma licença válida desbloqueia todos os recursos e remove marcas d’água. Escolha uma das opções a seguir:

  • Teste Gratuito: Limitado a 5 conversões por dia.
  • Licença Temporária: Conjunto completo de recursos por 30 dias, ideal para avaliação.
  • Licença Pago: Licenciamento por desenvolvedor ou para todo o site para uso em produção.

Visite a página oficial de compra ou a página de licença temporária para detalhes.

Como inicializar o mecanismo de Conversão?

A classe ConversionConfig armazena configurações globais como caminhos de armazenamento e informações de licença. Inicialize-a uma única vez na inicialização da aplicação:

var config = new ConversionConfig
{
    LicensePath = @"C:\Licenses\GroupDocs.Conversion.lic",
    StoragePath = @"C:\ConvertedFiles"
};

A classe Converter realiza a conversão real do arquivo com base na configuração fornecida.

Como converter um arquivo DGN para PSD passo a passo

Carregue o DGN de origem, configure as opções de PSD e transmita cada página para um arquivo PSD separado. O processo está encapsulado em três etapas concisas.

Passo 1: Preparar diretórios de saída e modelo de nomenclatura

Defina onde os arquivos PSD resultantes serão armazenados e como eles serão nomeados:

string outputFolder = Path.Combine(config.StoragePath, "DgnToPsd");
Directory.CreateDirectory(outputFolder);
string fileTemplate = Path.Combine(outputFolder, "Page_{0}.psd");

Passo 2: Criar um manipulador de stream para cada página

O método auxiliar SavePage grava o array de bytes de cada página em um stream de arquivo, garantindo a liberação correta:

void SavePage(Stream pageStream, int pageNumber)
{
    string filePath = string.Format(fileTemplate, pageNumber);
    using (var file = new FileStream(filePath, FileMode.Create, FileAccess.Write))
    {
        pageStream.CopyTo(file);
    }
}

Passo 3: Carregar o DGN e executar a conversão

Instancie o Converter, defina as opções de PSD e itere sobre as páginas:

using (var converter = new Converter("sample.dgn", config))
{
    var options = new PsdConvertOptions();
    var pages = converter.GetPages();

    int pageIndex = 1;
    foreach (var page in pages)
    {
        using (var stream = new MemoryStream())
        {
            converter.Convert(page, stream, options);
            SavePage(stream, pageIndex++);
        }
    }
}

O código acima lê cada página do DGN, converte-a para um stream PSD e a salva usando o auxiliar SavePage.

Como lidar com arquivos DGN grandes de forma eficiente?

Ao trabalhar com arquivos maiores que 200 MB, habilite o modo de streaming para evitar carregar todo o documento na memória. Essa flag indica ao motor que processe as páginas uma de cada vez, mantendo o uso máximo de memória baixo:

var config = new ConversionConfig { EnableStreaming = true };

Problemas Comuns e Soluções

  • Caminho do arquivo não encontrado: Use caminhos absolutos ou Path.Combine com AppDomain.CurrentDomain.BaseDirectory.
  • Dependências ausentes: Verifique se a versão do pacote NuGet corresponde ao runtime (.NET Framework vs .NET Core).
  • Erros de licença: Certifique‑se de que o arquivo .lic está acessível e o caminho está corretamente definido em ConversionConfig.

Perguntas Frequentes

Q: Posso converter um arquivo DGN protegido por senha?
A: Sim. Passe a senha ao construtor Converter: new Converter("file.dgn", config, "password").

Q: A conversão preserva informações de camadas?
A: GroupDocs.Conversion mantém as camadas vetoriais como grupos PSD separados, permitindo pós‑processamento no Photoshop.

Q: É possível converter em lote vários arquivos DGN?
A: Absolutamente. Percorra um diretório, instancie um Converter para cada arquivo e reutilize o mesmo ConversionConfig.

Q: Quais são os requisitos de sistema para desempenho ideal?
A: Uma CPU ≥ 2,4 GHz, 8 GB de RAM e armazenamento SSD são recomendados para arquivos com menos de 500 páginas.

Q: Como registro erros de conversão para monitoramento?
A: Inscreva‑se no evento Converter.OnError e escreva os detalhes no framework de logging de sua preferência.

Conclusão

Agora você tem uma solução completa e pronta para produção para converter desenhos DGN em arquivos PSD usando groupdocs conversion .net. O amplo suporte a formatos da API, alta fidelidade e recursos de streaming a tornam ideal tanto para pequenas utilidades quanto para pipelines empresariais de grande escala. Explore formatos adicionais, ajuste as opções de conversão e integre este fluxo de trabalho aos seus serviços .NET existentes para desbloquear novas possibilidades.


Última atualização: 2026-06-10
Testado com: GroupDocs.Conversion 25.3.0 for .NET
Autor: GroupDocs


Recursos

Install-Package GroupDocs.Conversion -Version 25.3.0
dotnet add package GroupDocs.Conversion --version 25.3.0
using System;
using GroupDocs.Conversion;

namespace DgnToPsdConversion
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialize the Converter object with your source file path
            using (Converter converter = new Converter("path_to_your_dgn_file.dgn"))
            {
                // Conversion logic will be implemented here
            }
        }
    }
}
string outputFolder = @"YOUR_OUTPUT_DIRECTORY/";
string outputFileTemplate = Path.Combine(outputFolder, "converted-page-{0}.psd");
Func<SavePageContext, Stream> getPageStream = savePageContext => 
    new FileStream(string.Format(outputFileTemplate, savePageContext.Page), FileMode.Create);
using (Converter converter = new Converter(@"YOUR_DOCUMENT_DIRECTORY\sample.dgn"))
{
    // Set up conversion options for PSD format
    ImageConvertOptions options = new ImageConvertOptions { Format = GroupDocs.Conversion.FileTypes.ImageFileType.Psd };
    
    // Perform the conversion using the defined stream handler
    converter.Convert(getPageStream, options);
}

Tutoriais Relacionados