IRONSOFTWAREHOME
VÍDEOS

Migrando debarKoder SDKpara IronBarcode

Curtis Chau
Curtis Chau
Updated: 20 de junho de 2026

Barkoder envia pacotes oficiais .NET — Plugin.Maui.Barkoder e Barkoder.Xamarin — mas ambos são componentes estritamente para escaneamento de câmera em dispositivos móveis. Se você avaliou o barKoder por seu algoritmo MatrixSight, modo DeBlur, detecção de múltiplos códigos de barras ou suporte a DPM e depois descobriu que precisa de entrada de arquivos, processamento de PDF, implantação no lado do servidor ou geração de código de barras, nada disso está disponível do barKoder no .NET. Este guia mostra como o IronBarcode cobre cada um desses requisitos, com código funcional para todos os cenários.

Por que Migrar do barKoder SDK

Equipes que mudam de uma avaliação do barKoder para o IronBarcode relatam consistentemente os mesmos gatilhos:

Apenas Superfície de Câmera Móvel: A pegada .NET do Barkoder é Plugin.Maui.Barkoder (v1.6.8, março de 2026) e Barkoder.Xamarin (v1.3.0). Ambos envolvem os SDKs nativos do iOS / Android e expõem um controle de câmera BarkoderView. Não há biblioteca Barkoder.NET de uso geral, nenhum alvo ASP.NET Core, nenhum alvo para console / trabalhador / desktop e nenhum alvo para servidor Linux.

Arquitetura somente leitura: Barkoder é um SDK que realiza apenas a digitalização de arquivos. Se sua aplicação precisa gerar códigos de barras — imprimir etiquetas de envio, criar códigos QR para embalagens, incorporar códigos em documentos — o Barkoder não oferece nada disso. Equipes que descobrem uma necessidade de geração no meio do projeto precisam de uma biblioteca que abranja ambos os lados do fluxo de trabalho.

Sem processamento de PDF: Em aplicações Enterprise .NET , os códigos de barras aparecem frequentemente em documentos PDF — faturas, manifestos de envio, registros médicos, documentos de conformidade. O Barkoder não tem noção desse fluxo de trabalho. Ele foi projetado para entrada de vídeo ao vivo em dispositivos móveis e não consegue processar arquivos PDF.

Sem implantação no servidor: o modelo de processamento do Barkoder é a leitura em dispositivos móveis. Não pode ser executado em ASP.NET Core, Azure Functions, contêineres Docker ou AWS Lambda. Equipes que desenvolvem APIs de código de barras do lado do servidor, pipelines de processamento de documentos ou funções em nuvem não têm acesso à implantação do Barkoder.

Sem Entrada de Arquivo / Fluxo: Mesmo dentro de um aplicativo MAUI, BarkoderView apenas consome quadros ao vivo da câmera. Não há sobrecarga de caminho de arquivo, matriz de bytes ou Stream, portanto, processar uma imagem carregada ou uma foto da galeria requer uma biblioteca diferente.

O Limite Fundamental

A superfície MAUI do Barkoder está presa à câmera. Um desenvolvedor .NET usando Plugin.Maui.Barkoder escreve código que se parece com este:

// dotnet add package Plugin.Maui.Barkoder
using Barkoder.Maui;

public partial class ScanPage : ContentPage, IBarkoderDelegate
{
    public ScanPage()
    {
        InitializeComponent();
        BarkoderView.SetFlashEnabled(false);
        BarkoderView.StartScanning(this);
    }

    public void DidFinishScanning(BarcodeResult[] result)
    {
        foreach (var r in result)
            Console.WriteLine($"{r.BarcodeTypeName}: {r.TextualData}");
    }
}

IronBarcode fornece uma API de arquivo / stream / PDF para os mesmos dados:

// dotnet add package BarCode
using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.ExtremeDetail,
    ExpectMultipleBarcodes = false,
};

var results = BarcodeReader.Read("scanned-label.png", options);
foreach (var result in results)
{
    Console.WriteLine($"Format: {result.Format} | Value: {result.Value}");
}

##IronBarcode vs barKoder SDK: Comparação de Recursos

RecursobarKoder SDKIronBarcode
API .NET / C#Apenas UI de câmera MAUI / XamarinSuperfície .NET completa
Pacote NuGetPlugin.Maui.Barkoder, Barkoder.XamarinBarCode
Recuperação de código de barras danificadoMatrixSight / DeBlurReadingSpeed.ExtremeDetail + ML
Detecção de múltiplos códigos de barrasSimExpectMultipleBarcodes = true
DataMatrix / DPMSim (somente leitura)Sim — leia e gere
Código QRSim (somente leitura)Sim — leia e gere
PDF417SimSim
astecaSimSim
Código 128, Código 39, EANSimSim — mais de 50 formatos
Geração de código de barrasNoneCompleto — todos os formatos
Processamento de PDFNoneNativo
Entrada de Arquivo / Stream / byte[]Nenhum — apenas quadros de câmeraSim
ASP.NET CoreNoneCompleto
Docker / LinuxNoneCompleto
Azure FunctionsNoneCompleto
AWS LambdaNoneCompleto
Offline / Isolado da internetNo dispositivoTotalmente local
Assíncrono / AguardarBaseado em retorno de chamadaCompleto
Injeção de DependênciaNoneDI .NET completo
iOS via MAUIPlugin.Maui.Barkoder (interface de usuário da câmera)Programático (arquivo / stream)
Android via MAUIPlugin.Maui.Barkoder (interface de usuário da câmera)Programático (arquivo / stream)
PreçosAssinatura anualA partir de $999 perpétuo

Começo Rápido: Migração dobarKoder SDKpara IronBarcode

Passo 1: Substitua o pacote NuGet

Instale o IronBarcode:

dotnet add package BarCode

Se seu projeto usa Plugin.Maui.Barkoder ou Barkoder.Xamarin apenas para fluxos de trabalho sem câmera (ou você está se movendo completamente para processamento de arquivos / PDFs), remova-o:

dotnet remove package Plugin.Maui.Barkoder
SHELL

Se o aplicativo ainda precisar de uma interface de usuário de câmera ao vivo, mantenha Plugin.Maui.Barkoder e adicione IronBarcode junto para o trabalho de arquivo / PDF / geração.

Etapa 2: Atualizar Namespaces

Remova o namespace barKoder onde não é mais necessário, e adicione o namespace IronBarcode:

// Remove (if no longer needed)
// using Barkoder.Maui;

// Add
using IronBarCode;

Etapa 3: Inicializar a licença

Adicione a inicialização da licença no início da aplicação — em Program.cs para ASP.NET Core, ou antes de qualquer operação de código de barras em aplicativos de console ou desktop:

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

Exemplos de migração de código

Lendo Códigos de Barras de Imagens

O cenário de leitura principal mapeia dos quadros de câmera ao vivo do barKoder para a API de arquivo / stream / byte[] do IronBarcode.

Abordagem do barKoder MAUI:

// dotnet add package Plugin.Maui.Barkoder
using Barkoder.Maui;

public partial class ScanPage : ContentPage, IBarkoderDelegate
{
    public ScanPage()
    {
        InitializeComponent();
        BarkoderView.StartScanning(this);
    }

    public void DidFinishScanning(BarcodeResult[] result)
    {
        foreach (var r in result)
        {
            Console.WriteLine($"Barcode: {r.TextualData}");
            Console.WriteLine($"Type: {r.BarcodeTypeName}");
        }
    }
}

Abordagem do IronBarcode:

// dotnet add package BarCode
using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

var results = BarcodeReader.Read("scan.png");
foreach (var result in results)
{
    Console.WriteLine($"Format: {result.Format}");
    Console.WriteLine($"Value: {result.Value}");
}

O BarcodeReader.Read() da IronBarcode detecta automaticamente o formato do código de barras sem exigir que um formato seja especificado antecipadamente. A mesma chamada funciona para imagens capturadas por um dispositivo móvel e enviadas para um servidor, imagens carregadas de um sistema de arquivos ou imagens recebidas como matrizes de bytes de um fluxo. Para obter documentação de leitura completa, consulte o guia de leitura do IronBarcode .

Recuperação de código de barras danificado (equivalente ao modo DeBlur)

O modo DeBlur do Barkoder é uma de suas funcionalidades mais citadas.IronBarcode fornece o equivalente para entrada de arquivo através de ReadingSpeed.ExtremeDetail.

Abordagem do barKoder MAUI:

// Live camera scanning with DeBlur enabled via configuration
using Barkoder.Maui;

BarkoderView.SetEnabledBarcodeTypes(/* configure formats */);
BarkoderView.StartScanning(this);

public void DidFinishScanning(BarcodeResult[] result)
{
    foreach (var r in result)
        Console.WriteLine($"Recovered: {r.TextualData}");
}

Abordagem do IronBarcode:

using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.ExtremeDetail,
    ExpectMultipleBarcodes = false,
};

var results = BarcodeReader.Read("worn-shipping-label.png", options);

if (results.Any())
{
    Console.WriteLine($"Recovered barcode: {results.First().Value}");
}
else
{
    Console.WriteLine("Could not decode — image quality too low");
}

ReadingSpeed.ExtremeDetail executa um pipeline de análise de imagem baseado em ML de múltiplas passagens, aplicando aprimoramento de contraste, nitidez, correção de rotação e recuperação de danos antes de tentar decodificar. Para fluxos de trabalho em lote, use ReadingSpeed.Balanced como padrão e recaia para ExtremeDetail apenas para imagens que Balanced falha em decodificar.

Detecção de múltiplos códigos de barras

A varredura de quadros de múltiplos códigos de barras do Barkoder mapeia para a opção ExpectMultipleBarcodes do IronBarcode, que funciona em imagens e PDFs igualmente.

Abordagem do barKoder MAUI:

// Live camera frame returns BarcodeResult[]; multi-scan configured on the view
using Barkoder.Maui;

BarkoderView.StartScanning(this);

public void DidFinishScanning(BarcodeResult[] result)
{
    foreach (var r in result)
        Console.WriteLine($"{r.BarcodeTypeName}: {r.TextualData}");
}

Abordagem do IronBarcode:

using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Balanced,
    ExpectMultipleBarcodes = true,
};

// Works identically on images and PDFs
var results = BarcodeReader.Read("shipping-manifest.pdf", options);

foreach (var barcode in results)
{
    Console.WriteLine($"Page {barcode.PageNumber} | {barcode.Format} | {barcode.Value}");
}

Esta é uma chamada de método única. Sem extração de páginas, sem múltiplas solicitações, sem sobrecarga de processamento por código de barras. O PDF é lido nativamente.

Geração e leitura de DataMatrix

O Barcoder lê o DataMatrix, mas não consegue gerá-lo. O IronBarcode abrange ambos os lados do fluxo de trabalho, o que é um requisito comum em sistemas de rastreamento industrial.

Abordagem do barKoder MAUI:

// Camera-only DataMatrix scanning; no generation available
using Barkoder.Maui;

BarkoderView.StartScanning(this);

public void DidFinishScanning(BarcodeResult[] result)
{
    foreach (var r in result)
        Console.WriteLine($"Part ID: {r.TextualData}");
}

Abordagem do IronBarcode:

using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

// Generate a DataMatrix barcode for a part label
BarcodeWriter.CreateBarcode("PART-SN-20240315-A42291", BarcodeEncoding.DataMatrix)
    .SaveAsPng("part-label.png");

// Read DataMatrix from a scanned industrial part image
var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.ExtremeDetail,
    ExpectMultipleBarcodes = false,
};

var results = BarcodeReader.Read("etched-part-photo.png", options);
foreach (var result in results)
{
    Console.WriteLine($"Part Serial: {result.Value}");
    Console.WriteLine($"Barcode Type: {result.Format}");
}

Para obter uma lista completa dos formatos de codificação e opções de geração suportados, consulte a documentação de geração de código de barras do IronBarcode .

Geração de código QR com personalização da marca

O Barkoder não gera códigos de barras. O IronBarcode gera códigos QR com logotipos incorporados, um requisito comum para fluxos de trabalho de marketing, embalagem e identificação de produtos.

Abordagem do barKoder MAUI:

Not available — Plugin.Maui.Barkoder is a reader-only SDK with no
generation API on any platform.
Text

Abordagem do IronBarcode:

using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

// QR code with brand logo embedded at centre
QRCodeWriter.CreateQrCode("https://parts.example.com/product/A42", 500)
    .AddBrandLogo("company-logo.png")
    .SaveAsPng("branded-qr.png");

Endpoint da API de código de barras do ASP.NET Core

O Barkoder não possui um modelo de implantação do lado do servidor. O equivalente a um ponto de extremidade de upload para leitura de código de barras em dispositivos móveis — que recebe uma imagem de qualquer cliente e retorna os dados do código de barras — requer uma biblioteca .NET .

Abordagem do barKoder:

Not available — Plugin.Maui.Barkoder runs only inside a MAUI app head
against a live camera. There is no ASP.NET Core integration and no
server-side execution model.
Text

Abordagem do IronBarcode:

// In Program.cs
using IronBarCode;

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";

app.MapPost("/api/scan", async (IFormFile file) =>
{
    using var stream = file.OpenReadStream();
    var imageBytes = new byte[stream.Length];
    await stream.ReadAsync(imageBytes);

    var options = new BarcodeReaderOptions
    {
        Speed = ReadingSpeed.Balanced,
        ExpectMultipleBarcodes = true,
    };

    var results = BarcodeReader.Read(imageBytes, options);

    return Results.Ok(results.Select(r => new
    {
        Value = r.Value,
        Format = r.Format.ToString(),
    }));
});

Referência de Mapeamento de API dobarKoder SDKpara IronBarcode

Esta tabela mapeia a superfície MAUI / Xamarin do barKoder para a chamada IronBarcode equivalente:

API barKoderEquivalente ao IronBarcode
Licença definida via portal / config do barKoderIronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY"
Configuração DeBlur em BarkoderViewSpeed = ReadingSpeed.ExtremeDetail
Configuração de múltiplas varreduras em BarkoderViewExpectMultipleBarcodes = true
SetEnabledBarcodeTypes(...)BarcodeEncoding.<Format> (detectado automaticamente na leitura)
BarkoderView.StartScanning(IBarkoderDelegate)BarcodeReader.Read("image.png") — síncrono
BarcodeResult.TextualDataresult.Value
BarcodeResult.BarcodeTypeNameresult.Format
Recuperação de danos MatrixSightReadingSpeed.ExtremeDetail com pré-processamento ML
Entrada de quadro de câmera ao vivoEntrada de caminho de arquivo / Stream / byte[]
Processamento no dispositivoTotalmente local — sem chamadas de rede.
Sem suporte de geraçãoBarcodeWriter.CreateBarcode() / QRCodeWriter.CreateQrCode()
Sem suporte para PDFBarcodeReader.Read("document.pdf") — nativo
Sem implantação de servidorFunciona em ASP.NET Core, Docker, Azure Functions e Lambda.
Sem índice de página (N/A)result.PageNumber — disponível em leituras de PDF

Problemas e soluções comuns em migrações

Problema 1: Nomes de Pacotes NuGet

SDK do barKoder: Os pacotes oficiais .NET são Plugin.Maui.Barkoder e Barkoder.Xamarin. Nenhum deles cobre cenários não-móveis.

Solution: Instale o IronBarcode:

dotnet add package BarCode

Se Plugin.Maui.Barkoder não for mais necessário (você está se movendo completamente para processamento de arquivo / PDF / servidor), remova-o:

dotnet remove package Plugin.Maui.Barkoder
dotnet add package BarCode
SHELL

Problema 2: Entrada de Quadro de Câmera vs Entrada de Arquivo

barKoder SDK: Tudo chega como um quadro de câmera ao vivo — um feed de vídeo contínuo processado no dispositivo. Não há modo de entrada de caminho de arquivo.

Solução: O IronBarcode aceita arquivos, fluxos de dados, matrizes de bytes e objetos System.Drawing.Image. Para imagens enviadas de um cliente móvel, leia o fluxo de requisição diretamente:

using var stream = file.OpenReadStream();
var imageBytes = new byte[stream.Length];
await stream.ReadAsync(imageBytes);
var results = BarcodeReader.Read(imageBytes, options);

Questão 3: API baseada em callbacks versus resultado síncrono

SDK do barKoder: BarkoderView.StartScanning(IBarkoderDelegate) usa um padrão de delegado / retorno de chamada — DidFinishScanning(BarcodeResult[]) dispara assíncronamente à medida que códigos de barras são detectados no feed da câmera.

Solução: O BarcodeReader.Read() da IronBarcode é síncrono e retorna um IEnumerable<BarcodeResult> diretamente. Em contextos ASP.NET Core onde async é necessário, envolva em Task.Run():

var results = await Task.Run(() => BarcodeReader.Read(imageBytes, options));

Problema 4: Configuração do Modo DeBlur

SDK do barKoder: DeBlur é habilitado na configuração BarkoderView antes do início da varredura e se aplica a todas as varreduras subsequentes.

Solução: No IronBarcode, o equivalente é ReadingSpeed.ExtremeDetail definido por leitura através de BarcodeReaderOptions. Crie o objeto de opções uma única vez e reutilize-o:

var deepOptions = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.ExtremeDetail,
    ExpectMultipleBarcodes = false,
};

// Reuse across multiple reads
var results = BarcodeReader.Read("image.png", deepOptions);

Problema 5: Falta de capacidade de geração

barKoder SDK: Barkoder é somente leitura. Não existe uma API para gerar códigos de barras ou códigos QR.

Solução: O IronBarcode abrange tanto a leitura quanto a geração de código de barras. Use BarcodeWriter para formatos padrão e QRCodeWriter para códigos QR:

// Standard barcode generation
BarcodeWriter.CreateBarcode("SHIP-20240315-00428", BarcodeEncoding.Code128)
    .SaveAsPng("shipping-label.png");

// QR code generation
QRCodeWriter.CreateQrCode("https://example.com/product/A42", 500)
    .SaveAsPng("product-qr.png");

// Get as bytes for embedding in API response or PDF
byte[] barcodeBytes = BarcodeWriter.CreateBarcode("INV-100291", BarcodeEncoding.Code128)
    .ToPngBinaryData();

Lista de Verificação de Migração do barKoder SDK

Tarefas pré-migração

Audite sua base de código para referências ao barKoder:

grep -r "Barkoder\|BarkoderView\|IBarkoderDelegate\|BarcodeResult" --include="*.cs" .
grep -r "Plugin.Maui.Barkoder\|Barkoder.Xamarin" --include="*.csproj" .
grep -r "Barkoder" --include="*.xaml" .
SHELL

Documente os cenários de código de barras atualmente implementados ou planejados:

  • Quais formatos de código de barras precisam ser lidos (Code128, DataMatrix, QR, PDF417, etc.)?
  • Se a recuperação de código de barras danificado é necessária (ReadingSpeed.ExtremeDetail)
  • Se a detecção de múltiplos códigos de barras é necessária (ExpectMultipleBarcodes = true)
  • Se a geração de código de barras é necessária (BarcodeWriter, QRCodeWriter)
  • Se o processamento de PDF é necessário (BarcodeReader.Read("doc.pdf"))
  • Destinos de implantação (ASP.NET Core, Azure Functions, Docker, Lambda, desktop, MAUI)

Tarefas de atualização de código

  1. Remova Plugin.Maui.Barkoder ou Barkoder.Xamarin de .csproj onde não é mais necessário
  2. Instale o pacote BarCode NuGet
  3. Remova using Barkoder.Maui; (ou o equivalente Xamarin) onde não é mais necessário
  4. Adicione using IronBarCode; a todos os arquivos de processamento de código de barras
  5. Adicione IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY"; no início da aplicação
  6. Substitua os retornos de chamada BarkoderView.StartScanning / DidFinishScanning por BarcodeReader.Read(filePath, options)
  7. Mapeie BarcodeResult.TextualData para result.Value
  8. Mapeie BarcodeResult.BarcodeTypeName para result.Format
  9. Mapeie a configuração DeBlur para Speed = ReadingSpeed.ExtremeDetail em BarcodeReaderOptions
  10. Mapeie a configuração de múltiplas varreduras para ExpectMultipleBarcodes = true em BarcodeReaderOptions
  11. Adicione chamadas de BarcodeWriter.CreateBarcode() para quaisquer requisitos de geração
  12. Adicione chamadas de QRCodeWriter.CreateQrCode() para requisitos de geração de código QR
  13. Substitua qualquer código de pré-processamento de PDF por BarcodeReader.Read("document.pdf")
  14. Envolva chamadas síncronas de BarcodeReader.Read() em Task.Run() para endpoints assíncronos do ASP.NET Core

Testes pós-migração

Após concluir as atualizações de código, verifique o seguinte:

  • Confirme se BarcodeReader.Read() retorna resultados para todos os formatos de imagem usados (PNG, JPEG, TIFF, BMP)
  • Verifique se ReadingSpeed.ExtremeDetail recupera códigos de barras das amostras de menor qualidade no seu conjunto de testes
  • Confirme se ExpectMultipleBarcodes = true retorna a contagem correta de códigos de barras de documentos com múltiplos códigos de barras
  • Testar a leitura de PDFs em todas as versões de PDF usadas nos fluxos de trabalho de documentos de produção.
  • Verifique se a saída de BarcodeWriter.CreateBarcode() é escaneável pelos seus scanners alvo
  • Verifique se a saída de QRCodeWriter.CreateQrCode() é escaneável por leitores QR móveis
  • Teste o endpoint ASP.NET Core (se aplicável) com uploads de arquivos de clientes móveis.
  • Confirme o funcionamento correto nos destinos de implantação do Docker, Azure ou Lambda.
  • Executar testes de ponta a ponta que abranjam todo o ciclo de leitura-processamento-geração, quando aplicável.

Principais benefícios da migração para o IronBarcode

**Uma Plataforma que Abrange .NET sem Câmera:**IronBarcode instala-se do NuGet e funciona em qualquer projeto .NET — ASP.NET Core, Azure Functions, Lambda, Docker, console, trabalhador, WPF, WinForms, Avalonia, Blazor e MAUI igualmente. O Plugin.Maui.Barkoder do Barkoder cobre apenas a interface de usuário da câmera dentro de um cabeçalho de aplicativo móvel MAUI;IronBarcode cobre todo o resto.

Leitura Tolerante a Danos Sem Uma Câmera: As capacidades que tornaram o Barkoder atraente — DeBlur, MatrixSight, recuperação de danos — estão presentes no IronBarcode através de ReadingSpeed.ExtremeDetail e pré-processamento de imagem baseado em ML. O IronBarcode obtém as mesmas melhorias de precisão que o Barkoder alcança com entradas de câmera ao vivo, tanto em arquivos quanto em documentos digitalizados e imagens carregadas.

Fluxo de trabalho completo de leitura e geração: o Barkoder é somente leitura. O IronBarcode oferece leitura e geração de códigos de barras em mais de 50 formatos, tudo em um único pacote. As equipes que precisam gerar etiquetas de envio, criar códigos QR para embalagens ou incorporar códigos de barras em documentos não precisam de uma segunda biblioteca.

Suporte nativo a PDF: Ler códigos de barras em documentos PDF — faturas, manifestos, registros médicos, documentos de conformidade — é um recurso de primeira classe do IronBarcode. Sem extração intermediária de imagens, sem chamadas de API por página e sem dependências adicionais. Um PDF de várias páginas é processado em uma única chamada de BarcodeReader.Read().

Implantação completa no servidor: o IronBarcode funciona em ASP.NET Core, Azure Functions, AWS Lambda, contêineres Docker e qualquer outro ambiente de hospedagem .NET . Ele processa códigos de barras localmente, sem chamadas de rede, sem chaves de API para gerenciar e sem a latência adicionada por um serviço remoto. Processar um código de barras ou um milhão custa o mesmo — não há cobranças por solicitação.

Preços previsíveis para licenças perpétuas: O IronBarcode está disponível em uma licença perpétua única a partir de US$ 749 para um único desenvolvedor, sem cobranças por solicitação, sem limites de volume e sem renovações de assinatura. Para equipes que desenvolvem aplicativos de produção que processam códigos de barras em grande escala, o modelo de custos é simples e previsível.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.