.NET MAUI Blazor para (PDF,EXCEL,OCR,Código de barras,Código QR)
.NET MAUI, la interfaz de usuario de aplicaciones multiplataforma, incluye el control BlazorWebView, que permite a los desarrolladores integrar una aplicación de servidor MAUI Blazor en un proyecto .NET MAUI utilizando Visual Studio. Estas aplicaciones híbridas de Blazor, llamadas aplicaciones .NET MAUI Blazor, permiten la integración de una aplicación híbrida de Blazor con características específicas de plataforma y renderizan controles de interfaz de usuario web. Estas aplicaciones .NET MAUI Blazor son aplicaciones multiplataforma porque .NET MAUI es un marco multiplataforma y no requiere código específico de la plataforma. Podemos usar aplicaciones .NET MAUI en dispositivos/emuladores de Android, iOS, macOS, Mac Catalyst y equipos con sistema operativo Windows.
El control BlazorWebView se puede añadir a cualquier página en una aplicación nativa .NET MAUI y dirigirse a la raíz de la aplicación web MAUI Blazor. Los componentes Razor de la aplicación web .NET MAUI Blazor se ejecutarán de forma nativa dentro del proceso .NET y renderizarán los componentes de UI web a través de un control de vista web incrustada. Las aplicaciones híbridas MAUI Blazor, aplicaciones de escritorio o formularios de Windows se pueden usar en todas las diferentes plataformas soportadas por .NET MAUI incluyendo sandbox del navegador.
IronPDF: A .NET PDF Library

IronPDF
Como desarrollador de C#, sabes la importancia de tener las herramientas adecuadas para el trabajo. Eso es donde entra IronPDF. Esta potente biblioteca de clases .NET facilita la creación de aplicaciones de procesamiento de PDF con .NET Core y tecnologías .NET utilizando APIs multiplataforma. IronPDF utiliza el motor Chromium de .NET para convertir páginas HTML (en forma de código o URL) a archivos PDF, eliminando la necesidad de APIs complejas y trabajos de diseño manual. Soporta documentos web estándar como HTML, ASPX, JS, CSS e imágenes.
Compatibilidad con Blazor y .NET MAUI
IronPDF se puede integrar fácilmente en aplicaciones construidas con componentes Blazor y marcos .NET MAUI, proporcionando a los desarrolladores una gama de funciones para crear y manipular documentos PDF. Estas funciones incluyen la capacidad de generar PDFs a partir de HTML, XML y otros formatos de archivo, así como la capacidad de editar PDFs existentes añadiendo o modificando texto, imágenes y otros elementos de carga de trabajo de .NET MAUI.
Pasos para crear una aplicación .NET MAUI Blazor
Sigue los siguientes pasos para crear una aplicación .NET MAUI en Visual Studio.
Paso 1: Abrir Visual Studio
Abre la última versión de Visual Studio y habilita el modo desarrollador. Se recomienda la última versión de Visual Studio.
Paso 2: Buscar en .NET Blazor
Ahora haz clic en el botón Crear Nuevo Proyecto y busca la plantilla .NET MAUI Blazor. Selecciona "Aplicación .NET MAUI Blazor" de los resultados de la búsqueda y haz clic en el botón Siguiente.

Creación de una aplicación MAUI de Visual Studio .NET
Paso 3: Definir el nombre del proyecto
Dale el nombre adecuado al Proyecto y haz clic en el botón Siguiente.
Paso 4: .NET Framework
Selecciona el framework .NET objetivo. Se recomienda el último framework para un trabajo fluido. Después de seleccionar el framework, haz clic en el botón Crear.
Al seguir los pasos anteriores, se creará una aplicación .NET MAUI Blazor.

Creación de una aplicación MAUI de Visual Studio .NET
Veamos cómo podemos utilizar este proyecto de componente Blazor raíz para IronPDF.
Exportar contenido de Blazor a PDF
Podemos convertir muy fácilmente el contenido de Blazor a PDF usando el siguiente código.
Primero, abre el archivo Index.razor y reemplaza el código con el siguiente código:
@page "/"
<!-- Input to take HTML content and button to trigger PDF generation -->
<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 to take HTML content and button to trigger PDF generation -->
<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");
}
}'INSTANT VB TODO TASK: The following line could not be converted:
page "/" <!-- Input [to] take HTML content [and] button [to] trigger PDF generation -- > <input bind="InputValue" placeholder="Enter HTML content" /> <button onclick="SubmitHTML"> Render HTML</button> code
If True Then
' Property to bind input value
private String InputValue {get;set;}
' Async method to render HTML as PDF and save
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' 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");
' }
End IfEste código ayuda a descargar el archivo PDF generado en la máquina local. Es así como podemos convertir contenido de Blazor a un archivo PDF sin usar ninguna biblioteca externa con IronPDF.

Generar un PDF utilizando .NET MAUI Blazor
Insertaremos el siguiente HTML en el cuadro 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>La aplicación MAUI Blazor genera la salida representada a continuación.

Generar un PDF utilizando .NET MAUI Blazor
Obtén más información sobre IronPDF con tutoriales de creación de PDF con Blazor y aplicaciones .NET MAUI.
IronXL

IronXL
IronXL es una biblioteca .NET que permite a los desarrolladores leer, editar y crear hojas de cálculo de Excel en C#. No requiere que Microsoft Excel esté instalado y soporta todas las plataformas, incluyendo Android, iOS, macOS, máquinas Windows y Azure. Ofrece una gama de funciones como carga y edición de datos de diversos formatos, guardado y exportación a varios formatos, y trabajar con objetos System.Data, manejo de fórmulas, clasificación de datos y estilo de celdas. Además, está disponible como un paquete NuGet y tiene documentación y ejemplos disponibles en su sitio web y repositorios de GitHub.
IronXL soporta .NET MAUI y Blazor, brindando a los usuarios la capacidad de acceder o extraer datos de una variedad de fuentes, incluidas hojas de cálculo de Excel, servicios web o Azure, y otras aplicaciones. Con el soporte de IronXL para .NET MAUI y Blazor, los desarrolladores cuentan con las herramientas más poderosas para desarrollar interfaces de usuario atractivas en iOS, macOS, y Windows, dispositivos Android, por igual.
Veamos un código de muestra de 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")El código anterior te ayuda a abrir el archivo de Excel ya existente y aplicar formato condicional en diferentes rangos de celdas. Obtén más tutoriales sobre IronXL utilizando los siguientes tutoriales de formato condicional en Excel.
IronOCR

IronOCR
IronOCR es una herramienta de OCR ampliamente utilizada entre los desarrolladores de C#, proporcionando una API sencilla para integrar la funcionalidad OCR en aplicaciones C#. Puede extraer texto de manera efectiva desde una variedad de fuentes, como documentos escaneados, archivos PDF e imágenes, utilizando algoritmos avanzados de aprendizaje automático para reconocer con precisión incluso el texto distorsionado o difícil de leer. IronOCR ofrece una gama de opciones de personalización para desarrolladores de C#, incluyendo la capacidad de ajustar el idioma, fuente y conjunto de caracteres del texto reconocido, recopilación de pronósticos y preprocesar imágenes para mejorar la precisión del OCR. Estas funciones de personalización permiten a los desarrolladores optimizar el rendimiento de IronOCR para sus necesidades específicas.
IronOCR es una potente biblioteca de reconocimiento OCR que soporta .NET MAUI y Blazor. Con IronOCR, los desarrolladores pueden crear rápidamente aplicaciones en cualquier plataforma sin preocuparse por la complejidad de escanear, leer y escribir grandes cantidades de datos de texto. Ningún otro software OCR brinda a los usuarios acceso a una variedad de herramientas de desarrollo con tanta simple integración.
Echa un vistazo al ejemplo de IronOCR que muestra cómo podemos extraer texto de un archivo PDF usando 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 UsingLee más tutoriales sobre cómo usar IronOCR en .NET Maui visitando este tutorial de OCR en .NET MAUI.
Obtén más tutoriales sobre IronOCR utilizando los siguientes tutoriales de PDF OCR.
IronBarcode

IronBarcode
Cómo crear un escáner de códigos de barras en .NET Maui
- Descargar biblioteca C# para crear escáner de código de barras en Maui
- Utilizar el método
Readpara escanear códigos de barras de PDF e imágenes - Admite una amplia variedad de formatos de códigos de barras, incluidos códigos QR, Código 39, Código 128, etc
- Integrar fácilmente la biblioteca de C# en los proyectos existentes de .NET MAUI y Blazor
- Aplicar preprocesamiento a las imágenes imperfectas
IronBarcode es una biblioteca C# que facilita a los desarrolladores añadir funcionalidad de lectura y escritura de códigos de barras a sus aplicaciones C#. Esta biblioteca es especialmente útil para quienes trabajan en proyectos que involucran escaneo o generación de códigos de barras, tales como sistemas de gestión de inventario o sistemas de punto de venta. Una de las características clave de IronBarcode es su capacidad para leer y escribir una amplia variedad de formatos de códigos de barras, incluyendo códigos QR, Código 39, Código 128, y muchos otros. Esto significa que los desarrolladores pueden usarlo para trabajar con una variedad de tipos diferentes de códigos de barras, dependiendo de las necesidades de su proyecto.
IronBarcode soporta .NET MAUI y Blazor, dos marcos populares utilizados por los desarrolladores para construir aplicaciones modernas y multiplataforma. Esto es beneficioso para los desarrolladores porque les permite integrar fácilmente las poderosas capacidades de generación y escaneo de códigos de barras de IronBarcode en sus proyectos de .NET MAUI y Blazor.
El siguiente ejemplo de código muestra cómo se pueden leer múltiples tipos de códigos de barras utilizando IronBarcode. Es un proceso muy simple y 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")Lee más tutoriales sobre cómo usar IronBarcode en .NET Maui visitando este tutorial de Escáner de Código de Barras en .NET MAUI.
Obtén más casos de uso y tutoriales de IronBarcode utilizando el siguiente tutorial de Lector de Escáner de Código de Barras.
IronDrawing

IronDrawing
IronDrawing es una biblioteca de código abierto, gratuita, que proporciona una solución para los desarrolladores .NET que necesitan crear aplicaciones multiplataforma que utilicen gráficos, imágenes y fuentes. Actúa como un puente entre diferentes bibliotecas de gráficos, permitiendo a los desarrolladores usar un formato único y consistente en su código, mientras que aun así pueden usar la biblioteca subyacente de su elección. IronDrawing es compatible con .NET Framework 4.6.2 y versiones más recientes, incluyendo .NET 5, 6 y 7.
IronDrawing es desarrollado y mantenido por Iron Software, un equipo de desarrolladores .NET experimentados que están comprometidos con el crecimiento y éxito de dot NET. Han creado IronDrawing como una forma de facilitar el desarrollo de bibliotecas de clases y NuGets y ayudar al ecosistema de NuGet a prosperar.
Motivo para desarrollar IronDrawing
IronDrawing fue desarrollado en respuesta a un cambio brusco anunciado por Microsoft en el que System.Drawing.Common solo será soportado en plataformas Windows. Este cambio planteó un problema para los desarrolladores que mantienen bibliotecas multiplataforma que usan System.Drawing.Common, ya que les requería reconstruir sus bibliotecas para soportar usuarios no-Windows como Android, iOS. IronDrawing fue creado como un formato intermediario que convierte entre diferentes bibliotecas de gráficos, facilitando la transición de los desarrolladores a nuevos estándares gráficos a medida que surgen.
Características de IronDrawing
IronDrawing ofrece varias características para ayudar a los desarrolladores en su trabajo, incluyendo AnyBitmap, una clase Bitmap compatible universalmente que se puede convertir a varias otras implementaciones de Bitmap; Color, una clase Color compatible universalmente; CropRectangle, una clase Rectangle compatible universalmente; y AnyFont, una clase de Font compatible universalmente. También proporciona conversión implícita entre estas clases y sus contrapartes en diferentes bibliotecas de gráficos, permitiendo una fácil conversión entre ellas. Puedes obtenerlo desde la página de NuGet.
IronDrawing soporta casi todas las plantillas .NET incluyendo .NET MAUI y Blazor. Su naturaleza independiente de la plataforma lo hace fácil de usar para una variedad de aplicaciones, que van desde proyectos de escritorio de Windows hasta proyectos móviles o basados en la web.
Las ventajas del código abierto
IronDrawing es una biblioteca de código abierto. Cualquiera puede acceder al código desde el repositorio de GitHub, lo que facilita más que nunca personalizar y modificar la biblioteca para adaptarse mejor a proyectos y necesidades individuales. No solo eso, sino que el tener el código fuente disponible públicamente anima a la colaboración entre desarrolladores mientras comparten y construyen sobre las ideas de los demás. Las posibilidades son infinitas con la biblioteca C# de IronDrawing - así que echa un vistazo a GitHub y comienza a explorar!
Veamos el ejemplo de código de IronDrawing para generar AnyBitmap desde múltiples formatos de archivo.
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")IronDrawing utiliza múltiples métodos para convertir el archivo de una ruta a un bitmap. Puedes ver que IronDrawing utiliza el flujo de memoria para convertir el archivo a BMP, lo cual es muy útil en aplicaciones basadas en servidor. De manera similar, puedes generar BMP usando el archivo SVG.

Un archivo Bitmap generado a partir de la biblioteca de código abierto IronDrawing
Precios
Iron Software ofrece un conjunto de cinco productos de software llamado Iron Suite. El conjunto incluye IronPDF, IronXL, IronOCR, IronWebscraper, e IronBarcode, que son todas herramientas utilizadas para interactuar con PDFs, hojas de cálculo, imágenes, scraping web y códigos de barras, respectivamente.
Estos productos tienen un precio individual comenzando en $799 por licencia, pero Iron Software ofrece un precio especial de paquete para el conjunto completo de productos, que comienza en $1498. El Iron Suite es una gran solución para aquellos que necesitan trabajar con múltiples tipos de archivos y necesitan automatizar el proceso de convertir, analizar y manipularlos.
Conclusión
En conclusión, .NET MAUI es un marco para construir aplicaciones de escritorio y móviles multiplataforma. En el artículo, discutimos múltiples bibliotecas como IronPDF, IronXL, IronBarcode, IronOCR y IronDrawing, que ofrecen diversas funcionalidades para crear y manipular documentos PDF, leer y escribir archivos de Excel, generar y escanear códigos de barras, Reconocimiento Óptico de Caracteres, y dibujar y manipular gráficos.
Entre estas bibliotecas, IronDrawing destaca como una herramienta poderosa para que los desarrolladores creen y editen gráficos vectoriales en sus aplicaciones .NET. Ofrece una amplia gama de características y es fácil de usar, convirtiéndolo en una adición valiosa al marco .NET MAUI. En general, la combinación de .NET MAUI y estas bibliotecas proporciona a los desarrolladores un kit de herramientas versátil para crear aplicaciones modernas y ricas en características en una variedad de plataformas.
Preguntas Frecuentes
¿Cómo puedo integrar la funcionalidad de PDF en aplicaciones .NET MAUI?
Puedes integrar la funcionalidad de PDF utilizando IronPDF, lo que te permite convertir HTML a PDF usando el motor Chromium de .NET. Esta integración permite crear y manipular documentos PDF dentro de tus aplicaciones .NET MAUI.
¿Qué ventajas ofrece el uso de una biblioteca de Excel en proyectos .NET MAUI?
Usar IronXL en tus proyectos .NET MAUI te permite manipular hojas de cálculo de Excel sin necesidad de tener Microsoft Excel instalado. Es compatible con la lectura, edición y creación de hojas de cálculo en plataformas como Android, iOS, macOS y Windows.
¿Cómo mejora IronOCR la extracción de texto en las aplicaciones .NET MAUI?
IronOCR proporciona capacidades avanzadas de OCR en aplicaciones .NET MAUI, permitiendo una extracción precisa de texto de documentos escaneados, PDF e imágenes. Usa algoritmos de aprendizaje automático y ofrece personalización para lenguajes y fuentes.
¿Qué funciones de código de barras se pueden implementar en aplicaciones .NET MAUI y Blazor?
IronBarcode se puede integrar en aplicaciones .NET MAUI y Blazor para agregar funcionalidades de lectura y escritura de códigos de barras. Es compatible con múltiples formatos de código de barras, incluyendo códigos QR y Code 128, adecuados para aplicaciones como la gestión de inventario.
¿Cómo beneficia IronDrawing al desarrollo gráfico multiplataforma?
IronDrawing es una biblioteca gratuita y de código abierto para crear aplicaciones gráficas multiplataforma en .NET. Proporciona un formato consistente para gráficos, llenando el vacío dejado por los cambios en el soporte para System.Drawing.Common por Microsoft.
¿Cuál es el rol de BlazorWebView en aplicaciones .NET MAUI?
BlazorWebView es un control en .NET MAUI que permite a los desarrolladores integrar una aplicación de servidor MAUI Blazor en un proyecto .NET MAUI. Facilita la creación de aplicaciones multiplataforma al renderizar controles de interfaz de usuario web dentro de la aplicación nativa.
¿Cómo se puede lograr el desarrollo multiplataforma con .NET MAUI?
El desarrollo multiplataforma con .NET MAUI se puede lograr utilizando su marco para construir aplicaciones que se ejecuten en Android, iOS, macOS y Windows. La integración con BlazorWebView mejora esto permitiendo el uso de controles de interfaz de usuario web.
¿Cuáles son las características clave de .NET MAUI para el desarrollo de aplicaciones modernas?
.NET MAUI ofrece un marco para construir aplicaciones multiplataforma con rendimiento nativo. Las características clave incluyen la integración de BlazorWebView para controles de interfaz de usuario web y la compatibilidad con bibliotecas como IronPDF, IronXL, IronOCR, IronBarcode e IronDrawing para una funcionalidad mejorada.








