AYUDA .NET

.NET MAUI Blazor para (PDF,EXCEL,OCR,BARCODE,QR Code)

Actualizado 2 de marzo, 2023
Compartir:

La interfaz de usuario de aplicaciones multiplataforma .NET (.NET MAUI) incluye el control BlazorWebView, que permite a los desarrolladores integrar una aplicación de servidor Blazor MAUI en un proyecto MAUI .NET utilizando Visual Studio. Estas aplicaciones híbridas de Blazor, denominadas aplicaciones .NET MAUI Blazor, permiten la integración de una aplicación híbrida de Blazor con funciones específicas de la plataforma y la representación de la interfaz de usuario web. (Interfaz de usuario) controles. Estas aplicaciones .NET MAUI Blazor son aplicaciones multiplataforma porque .NET MAUI es un marco multiplataforma y no requiere código específico de plataforma. Podemos utilizar aplicaciones .NET MAUI en dispositivos Android/emulador Android, iOS, macOS, Mac catalyst y máquinas con sistema operativo Windows.

El control BlazorWebView puede añadirse a cualquier página de 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 la interfaz de usuario web a través de un control de vista web incrustado. Las aplicaciones híbridas MAUI Blazor, aplicaciones de escritorio o formularios de Windows se pueden utilizar en todas las diferentes plataformas soportadas por .NET MAUI, incluyendo sandbox de navegador.

IronPDF: Una biblioteca PDF .NET

.NET MAUI Blazor para (PDF,EXCEL,OCR,BARCODE,QR Code) - Figura 1: IronPDF

IronPDF

Como desarrollador de C#, conoces la importancia de contar con las herramientas adecuadas para el trabajo. Ahí es donde entra IronPDF. Esta potente biblioteca de clases .NET facilita la creación de aplicaciones de procesamiento de PDF con tecnologías .NET Core y .NET mediante API multiplataforma. IronPDF utiliza el motor .NET Chromium para convertir páginas HTML (en forma de código o URL) a archivos PDF, eliminando la necesidad de complejas API y el trabajo de diseño manual. Admite documentos web estándar como HTML, ASPX, JS, CSS e imágenes.

Compatibilidad con Blazor y .NET MAUI

IronPDF puede integrarse fácilmente en aplicaciones creadas con componentes Blazor y .NET MAUI que ofrecen a los desarrolladores una serie de funciones para crear y manipular documentos PDF. Estas funciones incluyen la capacidad de generar PDF a partir de HTML, XML y otros formatos de archivo, así como la capacidad de editar PDF existentes añadiendo o modificando texto, imágenes y otros elementos de la 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: Abra Visual Studio

Abra la última versión de Visual Studio y active el modo de desarrollador. Se recomienda la última versión de Visual Studio.

Paso 2: Buscar .NET Blazor

Ahora haz click en el botón Crear Nuevo Proyecto y busca la plantilla .NET MAUI Blazor. Selecciona ".NET MAUI Blazor App" de los resultados de búsqueda y haz clic en el botón Siguiente.

.NET MAUI Blazor para (PDF,EXCEL,OCR,BARCODE,QR Code) - Figura 2: Buscar .NET MAUI Blazor App

Creación de una aplicación MAUI de Visual Studio .NET

Paso 3: Definir el nombre del proyecto

Dé un nombre apropiado al Proyecto y pulse el botón Siguiente.

Paso 4: .NET Framework

Seleccione el marco de trabajo de destino .NET. Se recomienda utilizar el marco más reciente para trabajar sin problemas. Una vez seleccionado el marco, haga clic en el botón Crear.

Siguiendo los pasos anteriores, se creará una aplicación .NET MAUI Blazor.

.NET MAUI Blazor para (PDF,EXCEL,OCR,BARCODE,QR Code) - Figura 3: Buscar .NET MAUI Blazor App

Creación de una aplicación MAUI de Visual Studio .NET

Veamos cómo podemos utilizar este proyecto raíz del componente Blazor para IronPDF.

Exportar contenido de Blazor a PDF

Podemos convertir el contenido de Blazor a PDF muy fácilmente utilizando el siguiente código.

En primer lugar, abra el archivo Index.razor y sustituya el código por el siguiente:

@page "/"
<input @bind="InputValue" />
<button onclick="@SubmitHTML">Render HTML</button>
@code{
    private string InputValue { get; set; }
    private async Task SubmitHTML()
    {
        var render = new IronPdf.ChromePdfRenderer();
        var doc = render.RenderHtmlAsPdf(InputValue);
        doc.SaveAs("Test.pdf");
    }

}
@page "/"
<input @bind="InputValue" />
<button onclick="@SubmitHTML">Render HTML</button>
@code{
    private string InputValue { get; set; }
    private async Task SubmitHTML()
    {
        var render = new IronPdf.ChromePdfRenderer();
        var doc = render.RenderHtmlAsPdf(InputValue);
        doc.SaveAs("Test.pdf");
    }

}
'INSTANT VB TODO TASK: The following line could not be converted:
page "/" <input bind="InputValue" /> <button onclick="@SubmitHTML"> Render HTML</button> code
If True Then
	private String InputValue {get;set;}
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'	private async Task SubmitHTML()
'	{
'		var render = New IronPdf.ChromePdfRenderer();
'		var doc = render.RenderHtmlAsPdf(InputValue);
'		doc.SaveAs("Test.pdf");
'	}

End If
VB   C#

Este código ayuda a descargar el archivo PDF generado en la máquina local. Así es como podemos convertir el contenido de Blazor a un archivo PDF sin usar ninguna librería externa con IronPDF.

.NET MAUI Blazor para (PDF,EXCEL,OCR,BARCODE,QR Code) - Figura 4: Contenido Blazor a PDF

Generar un PDF utilizando .NET MAUI Blazor

Introduciremos 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>
HTML

La aplicación MAUI Blazor genera la salida que se muestra a continuación.

.NET MAUI Blazor para (PDF,EXCEL,OCR,BARCODE,QR Code) - Figura 5: Salida PDF

Generar un PDF utilizando .NET MAUI Blazor

Obtenga más información sobre IronPDF con Blazor y Aplicaciones MAUI .NET.

IronXL

.NET MAUI Blazor para (PDF,EXCEL,OCR,BARCODE,QR Code) - Figura 6: IronXL

IronXL

IronXL es una biblioteca .NET que permite a los desarrolladores leer, editar y crear hojas de cálculo Excel en C#. No requiere la instalación de Microsoft Excel y es compatible con todas las plataformas, incluidas Android, iOS, macOS, Windows machine y Azure. Ofrece una serie de funciones como cargar y editar datos de varios formatos, guardar y exportar a varios formatos, y trabajar con objetos System.Data, manejar fórmulas, ordenar datos y estilizar celdas. Además, está disponible como paquete NuGet y dispone de documentación y ejemplos en su sitio web y en los repositorios de GitHub.

IronXL es compatible con .NET MAUI y Blazor, lo que permite a los usuarios acceder a los datos o recuperar páginas de datos de diversas fuentes, como hojas de cálculo de Excel, servicios web o Azure y otras aplicaciones. Con la compatibilidad de IronXL con .NET MAUI y Blazor, los desarrolladores disponen de las herramientas más potentes para desarrollar interfaces de usuario atractivas en iOS, macOS y Windows, dispositivos Android, por igual.

Veamos un ejemplo de código de IronXL:

using IronXL;
using IronXL.Formatting;
using IronXL.Formatting.Enums;
using IronXL.Styles;

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

//Crear una regla de formato condicional específica.
ConditionalFormattingRule rule = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.LessThan, "8");
//Configura diferentes opciones de estilo.
rule.FontFormatting.IsBold = true;
rule.FontFormatting.FontColor = "#123456";
rule.BorderFormatting.RightBorderColor = "#ffffff";
rule.BorderFormatting.RightBorderType = BorderType.Thick;
rule.PatternFormatting.BackgroundColor = "#54bdd9";
rule.PatternFormatting.FillPattern = FillPattern.Diamonds;
//Añade formato con la región especificada.
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A8", rule);

ConditionalFormattingRule rule1 = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.Between, "7", "10");
rule1.FontFormatting.IsItalic = true;
rule1.FontFormatting.UnderlineType = FontUnderlineType.Single;
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A9", rule1);

workbook.SaveAs("ApplyConditionalFormatting.xlsx");
using IronXL;
using IronXL.Formatting;
using IronXL.Formatting.Enums;
using IronXL.Styles;

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

//Crear una regla de formato condicional específica.
ConditionalFormattingRule rule = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.LessThan, "8");
//Configura diferentes opciones de estilo.
rule.FontFormatting.IsBold = true;
rule.FontFormatting.FontColor = "#123456";
rule.BorderFormatting.RightBorderColor = "#ffffff";
rule.BorderFormatting.RightBorderType = BorderType.Thick;
rule.PatternFormatting.BackgroundColor = "#54bdd9";
rule.PatternFormatting.FillPattern = FillPattern.Diamonds;
//Añade formato con la región especificada.
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A8", rule);

ConditionalFormattingRule rule1 = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.Between, "7", "10");
rule1.FontFormatting.IsItalic = true;
rule1.FontFormatting.UnderlineType = FontUnderlineType.Single;
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A9", rule1);

workbook.SaveAs("ApplyConditionalFormatting.xlsx");
Imports IronXL
Imports IronXL.Formatting
Imports IronXL.Formatting.Enums
Imports IronXL.Styles

Private workbook As WorkBook = WorkBook.Load("test.xlsx")
Private sheet As WorkSheet = workbook.DefaultWorkSheet

'Crear una regla de formato condicional específica.
Private rule As ConditionalFormattingRule = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.LessThan, "8")
'Configura diferentes opciones de estilo.
rule.FontFormatting.IsBold = True
rule.FontFormatting.FontColor = "#123456"
rule.BorderFormatting.RightBorderColor = "#ffffff"
rule.BorderFormatting.RightBorderType = BorderType.Thick
rule.PatternFormatting.BackgroundColor = "#54bdd9"
rule.PatternFormatting.FillPattern = FillPattern.Diamonds
'Añade formato con la región especificada.
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A8", rule)

Dim rule1 As ConditionalFormattingRule = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.Between, "7", "10")
rule1.FontFormatting.IsItalic = True
rule1.FontFormatting.UnderlineType = FontUnderlineType.Single
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A9", rule1)

workbook.SaveAs("ApplyConditionalFormatting.xlsx")
VB   C#

El código anterior le ayuda a abrir el archivo de Excel ya existente y aplicar formato condicional en diferentes rangos de celdas. Obtenga más tutoriales sobre IronXL utilizando lo siguiente enlace.

IronOCR

.NET MAUI Blazor para (PDF,EXCEL,OCR,BARCODE,QR Code) - Figura 7: IronOCR

IronOCR

IronOCR es una herramienta de reconocimiento óptico de caracteres muy utilizada por los desarrolladores de C#, ya que proporciona una API sencilla para integrar funciones de reconocimiento óptico de caracteres en aplicaciones C#. Puede extraer eficazmente texto de diversas fuentes, como documentos escaneados, PDF e imágenes, utilizando algoritmos avanzados de aprendizaje automático para reconocer con precisión incluso texto distorsionado o difícil de leer. IronOCR ofrece una serie de opciones de personalización para desarrolladores de C#, incluida la posibilidad de ajustar el idioma, la fuente y el conjunto de caracteres del texto reconocido, la recopilación de previsiones y de 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 librería 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 de OCR ofrece a los usuarios acceso a tal variedad de herramientas de desarrollo con una integración tan sencilla.

Eche un vistazo al ejemplo IronOCR que demuestra cómo podemos extraer texto de un archivo PDF utilizando IronOCR.

using IronOcr;

var ocrTesseract = new IronTesseract();

using (var ocrInput = new OcrInput())
{
    //  OCR de todo el documento
    ocrInput.AddPdf("example.pdf", "password");

    //  OCR alternativo de los números de página seleccionados
    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 de todo el documento
    ocrInput.AddPdf("example.pdf", "password");

    //  OCR alternativo de los números de página seleccionados
    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 de todo el documento
	ocrInput.AddPdf("example.pdf", "password")

	'  OCR alternativo de los números de página seleccionados
	ocrInput.AddPdfPages("example.pdf", { 1, 2, 3 }, "password")

	Dim ocrResult = ocrTesseract.Read(ocrInput)
	Console.WriteLine(ocrResult.Text)
End Using
VB   C#

Lea más tutoriales sobre cómo utilizar IronOCR en .NET Maui visitando este enlace enlace.

Obtenga más tutoriales sobre IronOCR utilizando lo siguiente enlace.

IronBarcode

.NET MAUI Blazor para (PDF,EXCEL,OCR,BARCODE,QR Code) - Figura 8: IronBarcode

IronBarcode

IronBarcode es una biblioteca de C# que facilita a los desarrolladores la adición de funciones de lectura y escritura de códigos de barras a sus aplicaciones C#. Esta biblioteca es especialmente útil para quienes trabajan en proyectos que implican escanear o generar códigos de barras, como sistemas de gestión de inventarios o sistemas de puntos de venta. Una de las principales características de IronBarcode es su capacidad para leer y escribir una amplia variedad de formatos de códigos de barras, incluidos códigos QR, Código 39, Código 128 y muchos otros. Esto significa que los desarrolladores pueden utilizarlo para trabajar con distintos tipos de códigos de barras, en función de las necesidades de su proyecto.

IronBarcode es compatible con .NET MAUI y Blazor, dos populares marcos utilizados por los desarrolladores para crear aplicaciones modernas y multiplataforma. Esto es beneficioso para los desarrolladores porque les permite integrar fácilmente las potentes funciones de generación y lectura de códigos de barras de IronBarcode en sus proyectos .NET MAUI y Blazor.

El siguiente ejemplo de código muestra cómo se pueden leer varios tipos de códigos de barras utilizando IronBarcode. Es un proceso muy sencillo y fácil de entender.

using IronBarCode;
using IronSoftware.Drawing;

//  Leer un código de barras es fácil con IronBarcode.
//  Leer desde un archivo, mapa de bits, imagen o flujo:

var resultFromFile = BarcodeReader.Read(@"file/barcode.png"); //  Desde un archivo

var resultFromBitMap = BarcodeReader.Read(new Bitmap("barcode.bmp")); //  A partir de un mapa de bits

var resultFromAnyBitmap = BarcodeReader.Read(new AnyBitmap("barcode.bmp")); //  Desde Anybitmap

var resultFromImage = BarcodeReader.Read(Image.FromFile("barcode.jpg")); //  A partir de una imagen

var resultFromStream = BarcodeReader.Read(myStream); //  De un arroyo

//  Los PDF son más complejos y deben leerse con ReadPdf:
var resultFromPdf = BarcodeReader.ReadPdf(@"file/mydocument.pdf");
using IronBarCode;
using IronSoftware.Drawing;

//  Leer un código de barras es fácil con IronBarcode.
//  Leer desde un archivo, mapa de bits, imagen o flujo:

var resultFromFile = BarcodeReader.Read(@"file/barcode.png"); //  Desde un archivo

var resultFromBitMap = BarcodeReader.Read(new Bitmap("barcode.bmp")); //  A partir de un mapa de bits

var resultFromAnyBitmap = BarcodeReader.Read(new AnyBitmap("barcode.bmp")); //  Desde Anybitmap

var resultFromImage = BarcodeReader.Read(Image.FromFile("barcode.jpg")); //  A partir de una imagen

var resultFromStream = BarcodeReader.Read(myStream); //  De un arroyo

//  Los PDF son más complejos y deben leerse con ReadPdf:
var resultFromPdf = BarcodeReader.ReadPdf(@"file/mydocument.pdf");
Imports IronBarCode
Imports IronSoftware.Drawing

'  Leer un código de barras es fácil con IronBarcode.
'  Leer desde un archivo, mapa de bits, imagen o flujo:

Private resultFromFile = BarcodeReader.Read("file/barcode.png") '  Desde un archivo

Private resultFromBitMap = BarcodeReader.Read(New Bitmap("barcode.bmp")) '  A partir de un mapa de bits

Private resultFromAnyBitmap = BarcodeReader.Read(New AnyBitmap("barcode.bmp")) '  Desde Anybitmap

Private resultFromImage = BarcodeReader.Read(Image.FromFile("barcode.jpg")) '  A partir de una imagen

Private resultFromStream = BarcodeReader.Read(myStream) '  De un arroyo

'  Los PDF son más complejos y deben leerse con ReadPdf:
Private resultFromPdf = BarcodeReader.ReadPdf("file/mydocument.pdf")
VB   C#

Lea más tutoriales sobre cómo utilizar IronBarcode en .NET Maui visitando este enlace enlace.

Obtenga más casos de uso y tutoriales de IronBarcode utilizando lo siguiente enlace.

IronDrawing

.NET MAUI Blazor para (PDF,EXCEL,OCR,BARCODE,QR Code) - Figura 9: IronDrawing

IronDrawing

IronDrawing es un programa gratuito, biblioteca de código abierto que ofrece una solución a los desarrolladores .NET que necesitan crear aplicaciones multiplataforma que utilicen gráficos, imágenes y fuentes. Actúa como puente entre diferentes bibliotecas de gráficos, permitiendo a los desarrolladores utilizar un formato único y coherente en su código y, al mismo tiempo, poder utilizar la biblioteca subyacente de su elección. IronDrawing es compatible con .NET Framework 4.6.2 y versiones posteriores, incluidas .NET 5, 6 y 7.

IronDrawing es desarrollado y mantenido por Iron Software, un equipo de experimentados desarrolladores .NET comprometidos con el crecimiento y el éxito de dot NET. Han creado IronDrawing para facilitar el desarrollo de bibliotecas de clases y NuGet y para ayudar a que el ecosistema NuGet prospere.

Razones para desarrollar IronDrawing

IronDrawing fue desarrollado en respuesta a un cambio de última hora anunciado por Microsoft en el que System.Drawing.Common sólo será soportado en plataformas Windows. Este cambio supuso un problema para los desarrolladores que mantienen bibliotecas multiplataforma que utilizan System.Drawing.Common, ya que les obligaba a reconstruir sus bibliotecas para que fueran compatibles con usuarios que no utilizan Windows, como Android, iOS. IronDrawing se creó como un formato intermedio que convierte entre diferentes bibliotecas gráficas, facilitando a los desarrolladores la transición a nuevos estándares gráficos a medida que van surgiendo.

Características de IronDrawing

IronDrawing ofrece varias características para ayudar a los desarrolladores en su trabajo, incluyendo AnyBitmap, una clase universalmente compatible Bitmap que se puede lanzar a varias otras implementaciones de Bitmap; Color, una clase Color universalmente compatible; CropRectangle, una clase Rectangle universalmente compatible; y AnyFont, una clase de fuente universalmente compatible. También proporciona un casting implícito entre estas clases y sus homólogas en diferentes bibliotecas gráficas, lo que permite una fácil conversión entre ellas. Puede obtenerlo en Sitio web de NuGet.

IronDrawing soporta casi todas las plantillas .NET incluyendo .NET MAUI y Blazor. Su naturaleza independiente de la plataforma facilita su uso para una gran variedad de aplicaciones, desde el escritorio de Windows hasta proyectos móviles o basados en la web.

Ventajas del código abierto

IronDrawing es una biblioteca de código abierto. Cualquiera puede acceder al código desde Repositorio GitHubque facilita más que nunca la personalización y modificación de la biblioteca para adaptarla mejor a los proyectos y necesidades individuales. Además, el hecho de que el código fuente esté a disposición del público fomenta la colaboración entre los desarrolladores, que comparten y desarrollan las ideas de los demás. Las posibilidades son infinitas con la biblioteca IronDrawing C#, así que echa un vistazo a GitHub y empieza a explorar!

Veamos el ejemplo de código de IronDrawing para generar AnyBitmap a partir de múltiples formatos de archivo.

using IronSoftware.Drawing;

AnyBitmap bitmap;

//  Generar AnyBitmap utilizando filepath
bitmap = AnyBitmap.FromFile(@"FILE_PATH");
bitmap.SaveAs("output.bmp");

//  Generar AnyBitmap a partir de bytes
byte [] bytes = File.ReadAllBytes(@"FILE_PATH");
bitmap = AnyBitmap.FromBytes(bytes);
bitmap.SaveAs("result.bmp"); 

//  Generar AnyBitmap a partir de un flujo de memoria
byte [] bytes = File.ReadAllBytes(@"FILE_PATH");
MemoryStream ms = new MemoryStream(bytes);
bitmap = AnyBitmap.FromStream(ms);
bitmap.SaveAs("output.bmp");  

//  Generar AnyBitmap a partir de Uri
Uri uri = new Uri("URI_PATH");
bitmap = AnyBitmap.FromUri(uri);
bitmap.SaveAs("uriImage.bmp"); 

//  Generar un archivo AnyBitmap a partir de un archivo SVG
bitmap = AnyBitmap.FromFile(@"FILE_PATH.svg");
bitmap.SaveAs("result.bmp"); 
using IronSoftware.Drawing;

AnyBitmap bitmap;

//  Generar AnyBitmap utilizando filepath
bitmap = AnyBitmap.FromFile(@"FILE_PATH");
bitmap.SaveAs("output.bmp");

//  Generar AnyBitmap a partir de bytes
byte [] bytes = File.ReadAllBytes(@"FILE_PATH");
bitmap = AnyBitmap.FromBytes(bytes);
bitmap.SaveAs("result.bmp"); 

//  Generar AnyBitmap a partir de un flujo de memoria
byte [] bytes = File.ReadAllBytes(@"FILE_PATH");
MemoryStream ms = new MemoryStream(bytes);
bitmap = AnyBitmap.FromStream(ms);
bitmap.SaveAs("output.bmp");  

//  Generar AnyBitmap a partir de Uri
Uri uri = new Uri("URI_PATH");
bitmap = AnyBitmap.FromUri(uri);
bitmap.SaveAs("uriImage.bmp"); 

//  Generar un archivo AnyBitmap a partir de un archivo SVG
bitmap = AnyBitmap.FromFile(@"FILE_PATH.svg");
bitmap.SaveAs("result.bmp"); 
Imports IronSoftware.Drawing

Private bitmap As AnyBitmap

'  Generar AnyBitmap utilizando filepath
bitmap = AnyBitmap.FromFile("FILE_PATH")
bitmap.SaveAs("output.bmp")

'  Generar AnyBitmap a partir de bytes
Dim bytes() As Byte = File.ReadAllBytes("FILE_PATH")
bitmap = AnyBitmap.FromBytes(bytes)
bitmap.SaveAs("result.bmp")

'  Generar AnyBitmap a partir de un flujo de memoria
Dim bytes() As Byte = File.ReadAllBytes("FILE_PATH")
Dim ms As New MemoryStream(bytes)
bitmap = AnyBitmap.FromStream(ms)
bitmap.SaveAs("output.bmp")

'  Generar AnyBitmap a partir de Uri
Dim uri As New Uri("URI_PATH")
bitmap = AnyBitmap.FromUri(uri)
bitmap.SaveAs("uriImage.bmp")

'  Generar un archivo AnyBitmap a partir de un archivo SVG
bitmap = AnyBitmap.FromFile("FILE_PATH.svg")
bitmap.SaveAs("result.bmp")
VB   C#

IronDrawing utiliza varios métodos para convertir el archivo de una ruta a un mapa de bits. Puede ver que IronDrawing utiliza el flujo de memoria para convertir el archivo a BMP, lo cual es muy útil en aplicaciones basadas en servidor. Del mismo modo, puede generar BMP utilizando el archivo SVG.

.NET MAUI Blazor para (PDF,EXCEL,OCR,BARCODE,QR Code) - Figura 10: Archivo BMP

Un archivo Bitmap generado a partir de la biblioteca de código abierto IronDrawing

Precios

Iron Software ofrece una suite de cinco productos de software denominada Iron Suite. La suite incluye IronPDF, IronXL, IronOCR, IronWebscraper e IronBarcode, herramientas que se utilizan para interactuar con PDF, hojas de cálculo, imágenes, web scraping y códigos de barras, respectivamente.

Estos productos tienen un precio individual que comienza en $749 por licencia, pero Iron Software ofrece un precio especial por el paquete completo de productos, que comienza en $1498. El sitio Iron Suite es una gran solución para quienes necesitan trabajar con múltiples tipos de archivos y necesitan automatizar el proceso de convertirlos, analizarlos y manipularlos.

Conclusión

En conclusión, .NET MAUI es un marco para crear aplicaciones multiplataforma de escritorio y móviles. En el artículo, hablamos de varias bibliotecas, como IronPDF, IronXL, IronBarcode, IronOCR e IronDrawing, que proporcionan diversas funciones para crear y manipular documentos PDF, leer y escribir archivos 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 potente herramienta para que los desarrolladores creen y editen gráficos vectoriales en sus aplicaciones .NET. Ofrece una amplia gama de funciones y es fácil de usar, lo que la convierte en una valiosa incorporación al marco MAUI de .NET. En general, la combinación de .NET MAUI y estas bibliotecas proporciona a los desarrolladores un conjunto de herramientas versátil para crear aplicaciones modernas y ricas en funciones en diversas plataformas.

< ANTERIOR
Qué es .NET Framework
SIGUIENTE >
Qué es Blazor Framework (Tutorial de cómo funciona para desarrolladores)

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 9,974,197 Ver licencias >
123