.NET MAUI Blazor para (PDF, EXCEL, OCR, CÓDIGO DE BARRAS, CÓDIGO QR)
A interface de usuário de aplicativos multiplataforma .NET (.NET MAUI) inclui o controle BlazorWebView, que permite aos desenvolvedores integrar um aplicativo de servidor Blazor MAUI em um projeto .NET MAUI usando o Visual Studio. Esses aplicativos híbridos Blazor , chamados de aplicativos .NET MAUI Blazor , permitem a integração de um aplicativo híbrido Blazor com recursos específicos da plataforma e renderizam controles de interface do usuário (UI) da Web. Esses aplicativos .NET MAUI Blazor são multiplataforma porque o .NET MAUI é um framework multiplataforma e não requer código específico para cada plataforma. Podemos usar aplicativos .NET MAUI em dispositivos Android/emuladores Android, iOS, macOS, Mac Catalyst e máquinas com sistema operacional Windows.
O controle BlazorWebView pode ser adicionado a qualquer página em um aplicativo nativo .NET MAUI e direcionado para a raiz do aplicativo web MAUI Blazor . Os componentes Razor do aplicativo web .NET MAUI Blazor serão executados nativamente dentro do processo .NET e renderizarão os componentes da interface do usuário web por meio de um controle de visualização web incorporado. Aplicativos híbridos MAUI Blazor , aplicativos de desktop ou formulários do Windows podem ser usados em todas as diferentes plataformas suportadas pelo .NET MAUI, incluindo o sandbox do navegador.
IronPDF: Uma biblioteca PDF for .NET
IronPDF
Como desenvolvedor C#, você sabe a importância de ter as ferramentas certas para o trabalho. É aí que entra o IronPDF . Esta poderosa biblioteca de classes .NET facilita a criação de aplicativos de processamento de PDF com tecnologias .NET Core e .NET , utilizando APIs multiplataforma. O IronPDF usa o mecanismo Chromium do .NET para converter páginas HTML (em formato de código ou URL) em arquivos PDF, eliminando a necessidade de APIs complexas e trabalho manual de design. Ele suporta documentos web padrão, como HTML, ASPX, JS, CSS e imagens.
Compatibilidade com Blazor e .NET MAUI
O IronPDF pode ser facilmente integrado a aplicativos criados com componentes Blazor e frameworks .NET MAUI , fornecendo aos desenvolvedores uma gama de recursos para criar e manipular documentos PDF. Essas funcionalidades incluem a capacidade de gerar PDFs a partir de HTML, XML e outros formatos de arquivo, bem como a capacidade de editar PDFs existentes, adicionando ou modificando texto, imagens e outros elementos da carga de trabalho .NET MAUI .
Passos para criar um aplicativo .NET MAUI Blazor
Siga os passos abaixo para criar um aplicativo .NET MAUI no Visual Studio.
Passo 1: Abra o Visual Studio
Abra a versão mais recente do Visual Studio e ative o modo de desenvolvedor. Recomenda-se a versão mais recente do Visual Studio.
Etapa 2: Pesquisar .NET Blazor
Agora clique no botão Criar novo projeto e procure pelo modelo .NET MAUI Blazor . Selecione ".NET MAUI Blazor App" nos resultados da pesquisa e clique no botão Próximo.
Criando um aplicativo .NET MAUI
Passo 3: Defina o nome do projeto
Dê o nome correto ao projeto e clique no botão Próximo.
Etapa 4: .NET Framework
Selecione a estrutura de destino .NET . Recomenda-se o uso da versão mais recente do framework para um funcionamento tranquilo. Após selecionar a estrutura, clique no botão Criar.
Seguindo os passos acima, será criado um aplicativo .NET MAUI Blazor .
Criando um aplicativo .NET MAUI
Vamos ver como podemos usar este projeto de componente Blazor raiz para o IronPDF.
Exportar conteúdo Blazor para PDF
Podemos converter o conteúdo Blazor para PDF com muita facilidade usando o seguinte código.
Primeiro, abra o arquivo Index.razor e substitua o código pelo seguinte:
@page "/"
<input @bind="InputValue" placeholder="Enter HTML content" />
<button @onclick="SubmitHTML">Render HTML</button>
@code {
// Property to bind input value
private string InputValue { get; set; }
// Async method to render HTML as PDF and save
private async Task SubmitHTML()
{
// Create an instance of ChromePdfRenderer
var renderer = new IronPdf.ChromePdfRenderer();
// Render the HTML input value as a PDF document
var doc = renderer.RenderHtmlAsPdf(InputValue);
// Save the document as 'Test.pdf' on the local file system
doc.SaveAs("Test.pdf");
}
}
@page "/"
<input @bind="InputValue" placeholder="Enter HTML content" />
<button @onclick="SubmitHTML">Render HTML</button>
@code {
// Property to bind input value
private string InputValue { get; set; }
// Async method to render HTML as PDF and save
private async Task SubmitHTML()
{
// Create an instance of ChromePdfRenderer
var renderer = new IronPdf.ChromePdfRenderer();
// Render the HTML input value as a PDF document
var doc = renderer.RenderHtmlAsPdf(InputValue);
// Save the document as 'Test.pdf' on the local file system
doc.SaveAs("Test.pdf");
}
}
Imports IronPdf
@page "/"
<input @bind="InputValue" placeholder="Enter HTML content" />
<button @onclick="SubmitHTML">Render HTML</button>
@code
' Property to bind input value
Private Property InputValue As String
' Async method to render HTML as PDF and save
Private Async Function SubmitHTML() As Task
' Create an instance of ChromePdfRenderer
Dim renderer As New ChromePdfRenderer()
' Render the HTML input value as a PDF document
Dim doc = renderer.RenderHtmlAsPdf(InputValue)
' Save the document as 'Test.pdf' on the local file system
doc.SaveAs("Test.pdf")
End Function
End Code
Este código ajuda a baixar o arquivo PDF gerado para a máquina local. É assim que podemos converter conteúdo Blazor em um arquivo PDF sem usar nenhuma biblioteca externa com o IronPDF.
Gerando um PDF usando .NET MAUI Blazor
Vamos inserir o seguinte código HTML na caixa de texto:
<!DOCTYPE html>
<html>
<head>
<link href='https://fonts.googleapis.com/css2?family=Popin&display=swap' rel='stylesheet'>
<style>
/* Add CSS styles for the invoice here */
body{
font-family: 'Popin', cursive;
}
.invoice {
width: 80%;
margin: 0 auto;
border: 1px solid #ccc;
padding: 20px;
background-color: #f5f5f5;
color: #333;
}
.invoice h1 {
text-align: center;
}
.invoice .invoice-info {
display: flex;
justify-content: space-between;
margin-bottom: 20px;
}
.invoice .invoice-info div {
width: 45%;
}
.invoice table {
width: 100%;
border-collapse: collapse;
}
.invoice table th, .invoice table td {
border: 1px solid #ccc;
padding: 10px;
}
.invoice table th {
text-align: left;
background-color: #f5f5f5;
}
.invoice table td {
text-align: right;
}
.invoice table td.total {
font-weight: bold;
}
</style>
</head>
<body>
<div class="invoice">
<h1>Invoice</h1>
<div class="invoice-info">
<div>
<p><strong>From:</strong></p>
<p>Your Company Name</p>
<p>123 Main St</p>
<p>City, State ZIP</p>
</div>
<div>
<p><strong>To:</strong></p>
<p>Customer Name</p>
<p>456 Park Ave</p>
<p>City, State ZIP</p>
</div>
</div>
<table>
<thead>
<tr>
<th>Product</th>
<th>Quantity</th>
<th>Price</th>
<th>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>Product 1</td>
<td>1</td>
<td>$10.00</td>
<td>$10.00</td>
</tr>
<tr>
<td>Product 2</td>
<td>2</td>
<td>$5.00</td>
<td>$10.00</td>
</tr>
<tr>
<td colspan="3" class="total">Total:</td>
<td class="total">$20.00</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<link href='https://fonts.googleapis.com/css2?family=Popin&display=swap' rel='stylesheet'>
<style>
/* Add CSS styles for the invoice here */
body{
font-family: 'Popin', cursive;
}
.invoice {
width: 80%;
margin: 0 auto;
border: 1px solid #ccc;
padding: 20px;
background-color: #f5f5f5;
color: #333;
}
.invoice h1 {
text-align: center;
}
.invoice .invoice-info {
display: flex;
justify-content: space-between;
margin-bottom: 20px;
}
.invoice .invoice-info div {
width: 45%;
}
.invoice table {
width: 100%;
border-collapse: collapse;
}
.invoice table th, .invoice table td {
border: 1px solid #ccc;
padding: 10px;
}
.invoice table th {
text-align: left;
background-color: #f5f5f5;
}
.invoice table td {
text-align: right;
}
.invoice table td.total {
font-weight: bold;
}
</style>
</head>
<body>
<div class="invoice">
<h1>Invoice</h1>
<div class="invoice-info">
<div>
<p><strong>From:</strong></p>
<p>Your Company Name</p>
<p>123 Main St</p>
<p>City, State ZIP</p>
</div>
<div>
<p><strong>To:</strong></p>
<p>Customer Name</p>
<p>456 Park Ave</p>
<p>City, State ZIP</p>
</div>
</div>
<table>
<thead>
<tr>
<th>Product</th>
<th>Quantity</th>
<th>Price</th>
<th>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>Product 1</td>
<td>1</td>
<td>$10.00</td>
<td>$10.00</td>
</tr>
<tr>
<td>Product 2</td>
<td>2</td>
<td>$5.00</td>
<td>$10.00</td>
</tr>
<tr>
<td colspan="3" class="total">Total:</td>
<td class="total">$20.00</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
O aplicativo MAUI Blazor gera a saída mostrada abaixo.
Gerando um PDF usando .NET MAUI Blazor
Obtenha mais informações sobre o IronPDF com tutoriais de criação de PDFs em Blazor e aplicativos .NET MAUI .
IronXL
IronXL
IronXL é uma biblioteca .NET que permite aos desenvolvedores ler, editar e criar planilhas do Excel em C#. Não requer a instalação do Microsoft Excel e é compatível com todas as plataformas, incluindo Android, iOS, macOS, máquinas Windows e Azure. Oferece uma gama de funcionalidades, tais como carregar e editar dados de vários formatos, salvar e exportar para vários formatos, e trabalhar com objetos System.Data, manipular fórmulas, classificar dados e estilizar células. Além disso, está disponível como um pacote NuGet e possui documentação e exemplos disponíveis em seu site e repositórios do GitHub .
O IronXL é compatível com .NET MAUI e Blazor, permitindo que os usuários acessem ou busquem dados de diversas fontes, incluindo planilhas do Excel, serviços da Web ou do Azure e outros aplicativos. Com o suporte do IronXL for .NET MAUI e Blazor, os desenvolvedores têm à disposição as ferramentas mais poderosas para desenvolver interfaces de usuário envolventes em dispositivos iOS, macOS, Windows e Android.
Vejamos um exemplo de código do IronXL:
using IronXL;
using IronXL.Formatting;
using IronXL.Formatting.Enums;
using IronXL.Styles;
// Load an existing Excel workbook
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Create a specific conditional formatting rule for cells with values less than 8
ConditionalFormattingRule rule = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.LessThan, "8");
// Set different style options for the rule
rule.FontFormatting.IsBold = true; // Bold text
rule.FontFormatting.FontColor = "#123456"; // Custom font color
rule.BorderFormatting.RightBorderColor = "#ffffff"; // Right border color
rule.BorderFormatting.RightBorderType = BorderType.Thick; // Right border thickness
rule.PatternFormatting.BackgroundColor = "#54bdd9"; // Background color
rule.PatternFormatting.FillPattern = FillPattern.Diamonds; // Fill pattern
// Add the formatting rule to the specified cell range
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A8", rule);
// Create another conditional formatting rule for values between 7 and 10
ConditionalFormattingRule rule1 = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.Between, "7", "10");
// Set additional style options for the new rule
rule1.FontFormatting.IsItalic = true; // Italic text
rule1.FontFormatting.UnderlineType = FontUnderlineType.Single; // Single underline
// Add this formatting rule to a different range of cells
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A9", rule1);
// Save the workbook with the applied conditional formatting
workbook.SaveAs("ApplyConditionalFormatting.xlsx");
using IronXL;
using IronXL.Formatting;
using IronXL.Formatting.Enums;
using IronXL.Styles;
// Load an existing Excel workbook
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Create a specific conditional formatting rule for cells with values less than 8
ConditionalFormattingRule rule = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.LessThan, "8");
// Set different style options for the rule
rule.FontFormatting.IsBold = true; // Bold text
rule.FontFormatting.FontColor = "#123456"; // Custom font color
rule.BorderFormatting.RightBorderColor = "#ffffff"; // Right border color
rule.BorderFormatting.RightBorderType = BorderType.Thick; // Right border thickness
rule.PatternFormatting.BackgroundColor = "#54bdd9"; // Background color
rule.PatternFormatting.FillPattern = FillPattern.Diamonds; // Fill pattern
// Add the formatting rule to the specified cell range
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A8", rule);
// Create another conditional formatting rule for values between 7 and 10
ConditionalFormattingRule rule1 = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.Between, "7", "10");
// Set additional style options for the new rule
rule1.FontFormatting.IsItalic = true; // Italic text
rule1.FontFormatting.UnderlineType = FontUnderlineType.Single; // Single underline
// Add this formatting rule to a different range of cells
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A9", rule1);
// Save the workbook with the applied conditional formatting
workbook.SaveAs("ApplyConditionalFormatting.xlsx");
Imports IronXL
Imports IronXL.Formatting
Imports IronXL.Formatting.Enums
Imports IronXL.Styles
' Load an existing Excel workbook
Private workbook As WorkBook = WorkBook.Load("test.xlsx")
Private sheet As WorkSheet = workbook.DefaultWorkSheet
' Create a specific conditional formatting rule for cells with values less than 8
Private rule As ConditionalFormattingRule = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.LessThan, "8")
' Set different style options for the rule
rule.FontFormatting.IsBold = True ' Bold text
rule.FontFormatting.FontColor = "#123456" ' Custom font color
rule.BorderFormatting.RightBorderColor = "#ffffff" ' Right border color
rule.BorderFormatting.RightBorderType = BorderType.Thick ' Right border thickness
rule.PatternFormatting.BackgroundColor = "#54bdd9" ' Background color
rule.PatternFormatting.FillPattern = FillPattern.Diamonds ' Fill pattern
' Add the formatting rule to the specified cell range
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A8", rule)
' Create another conditional formatting rule for values between 7 and 10
Dim rule1 As ConditionalFormattingRule = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.Between, "7", "10")
' Set additional style options for the new rule
rule1.FontFormatting.IsItalic = True ' Italic text
rule1.FontFormatting.UnderlineType = FontUnderlineType.Single ' Single underline
' Add this formatting rule to a different range of cells
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A9", rule1)
' Save the workbook with the applied conditional formatting
workbook.SaveAs("ApplyConditionalFormatting.xlsx")
O código acima ajuda você a abrir um arquivo Excel já existente e aplicar formatação condicional em diferentes intervalos de células. Obtenha mais tutoriais sobre o IronXL usando os seguintes tutoriais de formatação condicional do Excel .
IronOCR
IronOCR
O IronOCR é uma ferramenta de OCR amplamente utilizada entre os desenvolvedores de C#, fornecendo uma API simples para integrar a funcionalidade de OCR em aplicativos C#. Ele consegue extrair texto de forma eficaz de diversas fontes, como documentos digitalizados, PDFs e imagens, usando algoritmos avançados de aprendizado de máquina para reconhecer com precisão até mesmo textos distorcidos ou difíceis de ler. O IronOCR oferece uma variedade de opções de personalização para desenvolvedores C#, incluindo a capacidade de ajustar o idioma, a fonte e o conjunto de caracteres do texto reconhecido, a coleção de previsões e o pré-processamento de imagens para aprimorar a precisão do OCR. Esses recursos de personalização permitem que os desenvolvedores otimizem o desempenho do IronOCR para suas necessidades específicas.
IronOCR é uma poderosa biblioteca de reconhecimento OCR que oferece suporte a .NET MAUI e Blazor. Com o IronOCR, os desenvolvedores podem criar aplicativos rapidamente em qualquer plataforma, sem se preocupar com a complexidade de digitalizar, ler e gravar grandes quantidades de dados de texto. Nenhum outro software de OCR oferece aos usuários acesso a uma gama tão ampla de ferramentas de desenvolvimento com uma integração tão simples.
Veja o exemplo do IronOCR que demonstra como podemos extrair texto de um arquivo PDF usando o IronOCR.
using IronOcr;
var ocrTesseract = new IronTesseract();
using (var ocrInput = new OcrInput())
{
// OCR the entire document
ocrInput.AddPdf("example.pdf", "password");
// Alternatively OCR selected page numbers
ocrInput.AddPdfPages("example.pdf", new[] { 1, 2, 3 }, "password");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
using IronOcr;
var ocrTesseract = new IronTesseract();
using (var ocrInput = new OcrInput())
{
// OCR the entire document
ocrInput.AddPdf("example.pdf", "password");
// Alternatively OCR selected page numbers
ocrInput.AddPdfPages("example.pdf", new[] { 1, 2, 3 }, "password");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Private ocrTesseract = New IronTesseract()
Using ocrInput As New OcrInput()
' OCR the entire document
ocrInput.AddPdf("example.pdf", "password")
' Alternatively OCR selected page numbers
ocrInput.AddPdfPages("example.pdf", { 1, 2, 3 }, "password")
Dim ocrResult = ocrTesseract.Read(ocrInput)
Console.WriteLine(ocrResult.Text)
End Using
Leia mais tutoriais sobre como usar o IronOCR no .NET MAUI visitando este tutorial de OCR no .NET MAUI .
Acesse mais tutoriais sobre o IronOCR consultando os seguintes tutoriais de OCR em PDF .
IronBarcode
IronBarcode
Como criar um leitor de código de barras em .NET MAUI
- Baixe a biblioteca C# para criar um leitor de código de barras em Maui.
- Utilize o método `Read` para escanear o código de barras de um PDF ou imagem.
- Suporta uma ampla variedade de formatos de código de barras, incluindo códigos QR, Code 39, Code 128 e muito mais.
- Integre facilmente a biblioteca C# em projetos .NET MAUI e Blazor existentes.
- Aplique o pré-processamento às imagens imperfeitas.
IronBarcode é uma biblioteca C# que facilita aos desenvolvedores adicionar funcionalidades de leitura e gravação de códigos de barras às suas aplicações C#. Esta biblioteca é especialmente útil para quem trabalha em projetos que envolvem a digitalização ou geração de códigos de barras, como sistemas de gestão de estoque ou sistemas de ponto de venda. Uma das principais características do IronBarcode é a sua capacidade de ler e gravar uma ampla variedade de formatos de código de barras, incluindo códigos QR, Code 39, Code 128 e muitos outros. Isso significa que os desenvolvedores podem usá-lo para trabalhar com diversos tipos de códigos de barras, dependendo das necessidades do projeto.
O IronBarcode é compatível com .NET MAUI e Blazor, duas estruturas populares usadas por desenvolvedores para criar aplicativos modernos e multiplataforma. Isso é benéfico para os desenvolvedores, pois permite que eles integrem facilmente os poderosos recursos de geração e leitura de códigos de barras do IronBarcode em seus projetos .NET MAUI e Blazor .
O exemplo de código a seguir mostra como você pode ler vários tipos de códigos de barras usando o IronBarcode. É um processo muito simples e fácil de entender.
using IronBarCode;
using IronSoftware.Drawing;
// Reading a barcode is easy with IronBarcode.
// Read from a File, Bitmap, Image, or Stream:
var resultFromFile = BarcodeReader.Read(@"file/barcode.png"); // From a file
var resultFromBitMap = BarcodeReader.Read(new Bitmap("barcode.bmp")); // From a bitmap
var resultFromAnyBitmap = BarcodeReader.Read(new AnyBitmap("barcode.bmp")); // From AnyBitmap
var resultFromImage = BarcodeReader.Read(Image.FromFile("barcode.jpg")); // From an image
var resultFromStream = BarcodeReader.Read(myStream); // From a stream
// PDFs are more intricate and must be read using ReadPdf:
var resultFromPdf = BarcodeReader.ReadPdf(@"file/mydocument.pdf");
using IronBarCode;
using IronSoftware.Drawing;
// Reading a barcode is easy with IronBarcode.
// Read from a File, Bitmap, Image, or Stream:
var resultFromFile = BarcodeReader.Read(@"file/barcode.png"); // From a file
var resultFromBitMap = BarcodeReader.Read(new Bitmap("barcode.bmp")); // From a bitmap
var resultFromAnyBitmap = BarcodeReader.Read(new AnyBitmap("barcode.bmp")); // From AnyBitmap
var resultFromImage = BarcodeReader.Read(Image.FromFile("barcode.jpg")); // From an image
var resultFromStream = BarcodeReader.Read(myStream); // From a stream
// PDFs are more intricate and must be read using ReadPdf:
var resultFromPdf = BarcodeReader.ReadPdf(@"file/mydocument.pdf");
Imports IronBarCode
Imports IronSoftware.Drawing
' Reading a barcode is easy with IronBarcode.
' Read from a File, Bitmap, Image, or Stream:
Private resultFromFile = BarcodeReader.Read("file/barcode.png") ' From a file
Private resultFromBitMap = BarcodeReader.Read(New Bitmap("barcode.bmp")) ' From a bitmap
Private resultFromAnyBitmap = BarcodeReader.Read(New AnyBitmap("barcode.bmp")) ' From AnyBitmap
Private resultFromImage = BarcodeReader.Read(Image.FromFile("barcode.jpg")) ' From an image
Private resultFromStream = BarcodeReader.Read(myStream) ' From a stream
' PDFs are more intricate and must be read using ReadPdf:
Private resultFromPdf = BarcodeReader.ReadPdf("file/mydocument.pdf")
Leia mais tutoriais sobre como usar o IronBarcode no .NET MAUI visitando este tutorial sobre Leitor de código de barras no .NET MAUI .
Obtenha mais casos de uso e tutoriais do IronBarcode usando o seguinte tutorial do Leitor de Código de Barras .
IronDrawing
IronDrawing
IronDrawing é uma biblioteca gratuita e de código aberto que oferece uma solução para desenvolvedores .NET que precisam criar aplicativos multiplataforma que utilizam gráficos, imagens e fontes. Ele atua como uma ponte entre diferentes bibliotecas gráficas, permitindo que os desenvolvedores usem um formato único e consistente em seu código, ao mesmo tempo que podem usar a biblioteca subjacente de sua escolha. O IronDrawing é compatível com o .NET Framework 4.6.2 e versões mais recentes, incluindo .NET 5, 6 e 7.
O IronDrawing é desenvolvido e mantido pela Iron Software, uma equipe de desenvolvedores .NET experientes e comprometidos com o crescimento e o sucesso do .NET. Eles criaram o IronDrawing como uma forma de facilitar o desenvolvimento de bibliotecas de classes e do NuGet , além de contribuir para o crescimento do ecossistema NuGet .
Motivo para o desenvolvimento do desenho em ferro
O IronDrawing foi desenvolvido em resposta a uma mudança significativa anunciada pela Microsoft, na qual o System.Drawing.Common só será suportado em plataformas Windows. Essa alteração representou um problema para os desenvolvedores que mantêm bibliotecas multiplataforma que usam System.Drawing.Common, pois exigiu que eles recompilassem suas bibliotecas para oferecer suporte a usuários que não utilizam o Windows, como Android e iOS. O IronDrawing foi criado como um formato intermediário que converte entre diferentes bibliotecas gráficas, facilitando a transição dos desenvolvedores para novos padrões gráficos à medida que surgem.
Características do desenho em ferro
IronDrawing oferece vários recursos para auxiliar os desenvolvedores em seu trabalho, incluindo AnyBitmap, uma classe Bitmap universalmente compatível que pode ser convertida para várias outras implementações de Bitmap; Color, uma classe Color universalmente compatível; CropRectangle, uma classe Rectangle universalmente compatível; e AnyFont, uma classe de fonte universalmente compatível. Também oferece conversão implícita entre essas classes e suas contrapartes em diferentes bibliotecas gráficas, permitindo uma conversão fácil entre elas. Você pode obtê-lo no site do NuGet .
O IronDrawing suporta quase todos os modelos .NET , incluindo .NET MAUI e Blazor. Sua natureza independente de plataforma facilita o uso em uma variedade de aplicações, desde desktops Windows até projetos para dispositivos móveis ou baseados na web.
Vantagens do código aberto
IronDrawing é uma biblioteca de código aberto. Qualquer pessoa pode acessar o código no repositório do GitHub , o que torna mais fácil do que nunca personalizar e modificar a biblioteca para melhor atender a projetos e necessidades individuais. Além disso, disponibilizar o código-fonte publicamente incentiva a colaboração entre os desenvolvedores, permitindo que compartilhem e desenvolvam as ideias uns dos outros. As possibilidades são infinitas com a biblioteca IronDrawing para C# - então vá ao GitHub e comece a explorar!
Vamos dar uma olhada no exemplo de código do IronDrawing para gerar AnyBitmap a partir de vários formatos de arquivo.
using IronSoftware.Drawing;
AnyBitmap bitmap;
// Generate AnyBitmap using filepath
bitmap = AnyBitmap.FromFile(@"FILE_PATH");
bitmap.SaveAs("output.bmp");
// Generate AnyBitmap from bytes
byte[] bytes = File.ReadAllBytes(@"FILE_PATH");
bitmap = AnyBitmap.FromBytes(bytes);
bitmap.SaveAs("result.bmp");
// Generate AnyBitmap from memory stream
byte[] bytes = File.ReadAllBytes(@"FILE_PATH");
MemoryStream ms = new MemoryStream(bytes);
bitmap = AnyBitmap.FromStream(ms);
bitmap.SaveAs("output.bmp");
// Generate AnyBitmap from Uri
Uri uri = new Uri("URI_PATH");
bitmap = AnyBitmap.FromUri(uri);
bitmap.SaveAs("uriImage.bmp");
// Generate AnyBitmap file from SVG file
bitmap = AnyBitmap.FromFile(@"FILE_PATH.svg");
bitmap.SaveAs("result.bmp");
using IronSoftware.Drawing;
AnyBitmap bitmap;
// Generate AnyBitmap using filepath
bitmap = AnyBitmap.FromFile(@"FILE_PATH");
bitmap.SaveAs("output.bmp");
// Generate AnyBitmap from bytes
byte[] bytes = File.ReadAllBytes(@"FILE_PATH");
bitmap = AnyBitmap.FromBytes(bytes);
bitmap.SaveAs("result.bmp");
// Generate AnyBitmap from memory stream
byte[] bytes = File.ReadAllBytes(@"FILE_PATH");
MemoryStream ms = new MemoryStream(bytes);
bitmap = AnyBitmap.FromStream(ms);
bitmap.SaveAs("output.bmp");
// Generate AnyBitmap from Uri
Uri uri = new Uri("URI_PATH");
bitmap = AnyBitmap.FromUri(uri);
bitmap.SaveAs("uriImage.bmp");
// Generate AnyBitmap file from SVG file
bitmap = AnyBitmap.FromFile(@"FILE_PATH.svg");
bitmap.SaveAs("result.bmp");
Imports IronSoftware.Drawing
Private bitmap As AnyBitmap
' Generate AnyBitmap using filepath
bitmap = AnyBitmap.FromFile("FILE_PATH")
bitmap.SaveAs("output.bmp")
' Generate AnyBitmap from bytes
Dim bytes() As Byte = File.ReadAllBytes("FILE_PATH")
bitmap = AnyBitmap.FromBytes(bytes)
bitmap.SaveAs("result.bmp")
' Generate AnyBitmap from memory stream
Dim bytes() As Byte = File.ReadAllBytes("FILE_PATH")
Dim ms As New MemoryStream(bytes)
bitmap = AnyBitmap.FromStream(ms)
bitmap.SaveAs("output.bmp")
' Generate AnyBitmap from Uri
Dim uri As New Uri("URI_PATH")
bitmap = AnyBitmap.FromUri(uri)
bitmap.SaveAs("uriImage.bmp")
' Generate AnyBitmap file from SVG file
bitmap = AnyBitmap.FromFile("FILE_PATH.svg")
bitmap.SaveAs("result.bmp")
O IronDrawing utiliza vários métodos para converter um arquivo de um caminho para um bitmap. É possível observar que o IronDrawing usa o fluxo de memória para converter o arquivo para BMP, o que é muito útil em aplicações baseadas em servidor. Da mesma forma, você pode gerar um arquivo BMP usando o arquivo SVG.
Um arquivo Bitmap gerado a partir da biblioteca de código aberto IronDrawing.
Preços
A Iron Software oferece um conjunto de cinco produtos de software chamado Iron Suite. O conjunto inclui o IronPDF, o IronXL, o IronOCR, o IronWebscraper e o IronBarcode, que são ferramentas utilizadas para interagir com PDFs, planilhas, imagens, web scraping e códigos de barras, respectivamente.
Esses produtos têm preços individuais a partir de $799 por licença, mas a Iron Software oferece um preço especial para o pacote completo, a partir de US$ 1498. O Iron Suite é uma ótima solução para quem precisa trabalhar com diversos tipos de arquivos e automatizar o processo de conversão, análise e manipulação dos mesmos.
Conclusão
Em resumo, o .NET MAUI é uma estrutura para a criação de aplicativos multiplataforma para desktop e dispositivos móveis. No artigo, discutimos várias bibliotecas, como IronPDF, IronXL, IronBarcode, IronOCR e IronDrawing, que oferecem diversas funcionalidades para criar e manipular documentos PDF, ler e gravar arquivos Excel, gerar e escanear códigos de barras, realizar reconhecimento óptico de caracteres (OCR) e desenhar e manipular gráficos.
Dentre essas bibliotecas, o IronDrawing se destaca como uma ferramenta poderosa para desenvolvedores criarem e editarem gráficos vetoriais em seus aplicativos .NET . Oferece uma ampla gama de recursos e é fácil de usar, tornando-se uma adição valiosa à estrutura .NET MAUI . Em resumo, a combinação do .NET MAUI com essas bibliotecas oferece aos desenvolvedores um conjunto de ferramentas versátil para criar aplicativos modernos e ricos em recursos em diversas plataformas.
Perguntas frequentes
Como posso integrar a funcionalidade de PDF em aplicativos .NET MAUI?
Você pode integrar a funcionalidade de PDF usando o IronPDF, que permite converter HTML em PDF utilizando o mecanismo Chromium do .NET. Essa integração oferece suporte à criação e manipulação de documentos PDF em seus aplicativos .NET MAUI.
Quais as vantagens de usar uma biblioteca do Excel em projetos .NET MAUI?
Utilizar o IronXL em seus projetos .NET MAUI permite manipular planilhas do Excel sem precisar ter o Microsoft Excel instalado. Ele oferece suporte à leitura, edição e criação de planilhas em plataformas como Android, iOS, macOS e Windows.
Como o IronOCR aprimora a extração de texto em aplicativos .NET MAUI?
O IronOCR oferece recursos avançados de OCR em aplicativos .NET MAUI, permitindo a extração precisa de texto de documentos digitalizados, PDFs e imagens. Ele utiliza algoritmos de aprendizado de máquina e oferece personalização de idiomas e fontes.
Quais funcionalidades de código de barras podem ser implementadas em aplicativos .NET MAUI e Blazor?
O IronBarcode pode ser integrado a aplicativos .NET MAUI e Blazor para adicionar funcionalidades de leitura e gravação de códigos de barras. Ele suporta múltiplos formatos de código de barras, incluindo códigos QR e Code 128, sendo adequado para aplicações como gerenciamento de estoque.
Como o IronDrawing beneficia o desenvolvimento gráfico multiplataforma?
IronDrawing é uma biblioteca gratuita e de código aberto para a criação de aplicativos gráficos multiplataforma em .NET. Ela fornece um formato consistente para gráficos, preenchendo a lacuna deixada pelas mudanças no suporte ao System.Drawing.Common da Microsoft.
Qual é o papel do BlazorWebView em aplicações .NET MAUI?
O BlazorWebView é um controle do .NET MAUI que permite aos desenvolvedores integrar um aplicativo servidor Blazor do MAUI a um projeto .NET MAUI. Ele facilita a criação de aplicativos multiplataforma, renderizando controles de interface web dentro do aplicativo nativo.
Como é possível alcançar o desenvolvimento multiplataforma com o .NET MAUI?
O desenvolvimento multiplataforma com .NET MAUI pode ser alcançado utilizando seu framework para criar aplicativos que rodam em Android, iOS, macOS e Windows. A integração com BlazorWebView aprimora ainda mais essa funcionalidade, permitindo o uso de controles de interface web.
Quais são as principais funcionalidades do .NET MAUI para o desenvolvimento de aplicações modernas?
O .NET MAUI oferece uma estrutura para a criação de aplicativos multiplataforma com desempenho nativo. Os principais recursos incluem a integração do BlazorWebView para controles de interface do usuário web e a compatibilidade com bibliotecas como IronPDF, IronXL, IronOCR, IronBarcode e IronDrawing para funcionalidades aprimoradas.




