Przejdź do treści stopki
POMOC .NET

.NET MAUI Blazor dla (PDF, EXCEL, OCR, BarCode, kody QR)

Interfejs użytkownika aplikacji wielopłatformowej .NET (NET MAUI) zawiera kontrolkę BlazorWebView, która pozwala programistom zintegrować aplikację serwerową MAUI Blazor z projektem .NET MAUI przy użyciu programu Visual Studio. Te aplikacje hybrydowe Blazor, zwane aplikacjami .NET MAUI Blazor, umożliwiają integrację aplikacji hybrydowej Blazor z funkcjami specyficznymi dla platformy oraz renderowanie elementów interfejsu użytkownika (UI) w sieci. Te aplikacje .NET MAUI Blazor są aplikacjami wielopłatformowymi, ponieważ .NET MAUI jest frameworkiem wielopłatformowym i nie wymaga kodu specyficznego dla danej platformy. Aplikacje .NET MAUI można używać na urządzeniach z systemem Android/emulatorach Androida, iOS, macOS, Mac Catalyst oraz komputerach z systemem Windows.

Kontrolka BlazorWebView moze byc dodana do dowolnej strony w natywnej aplikacji .NET MAUI i skierowana do korzenia aplikacji sieciowej MAUI Blazor. Komponenty Razor aplikacji internetowej .NET MAUI Blazor będą następnie działać natywnie w ramach procesu .NET i renderować komponenty interfejsu użytkownika za pośrednictwem osadzonego kontrolki widoku internetowego. Hybrydowe aplikacje MAUI Blazor, aplikacje desktopowe oraz aplikacje formularzy Windows moga byc uzywane na wszystkich platformach wspieranych przez .NET MAUI, w tym w piaskownicy przegladarki.

IronPDF: biblioteka .NET do obsługi plików PDF

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

IronPDF

Jako programista C# wiesz, jak ważne jest posiadanie odpowiednich narzędzi do pracy. Właśnie tu pojawia się IronPDF. Ta potężna biblioteka klas .NET ułatwia tworzenie aplikacji do przetwarzania plików PDF przy użyciu technologii .NET Core i .NET oraz międzyplatformowych interfejsów API. IronPDF wykorzystuje silnik .NET Chromium do konwersji stron HTML (w postaci kodu lub adresu URL) na pliki PDF, eliminując potrzebę stosowania skomplikowanych interfejsów API i ręcznego projektowania. Obsługuje standardowe dokumenty internetowe, takie jak HTML, ASPX, JS, CSS i obrazy.

Kompatybilność z Blazor i .NET MAUI

IronPDF można łatwo zintegrować z aplikacjami zbudowanymi przy użyciu komponentów Blazor i frameworków .NET MAUI, zapewniając programistom szeroki zakres funkcji do tworzenia i edycji dokumentów PDF. Funkcje te obejmują możliwość generowania plików PDF z HTML, XML i innych formatów plików, a także możliwość edycji istniejących plików PDF poprzez dodawanie lub modyfikowanie tekstu, obrazów i innych elementów środowiska .NET MAUI.

Kroki tworzenia aplikacji .NET MAUI Blazor

Wykonaj poniższe kroki, aby utworzyć aplikację .NET MAUI w programie Visual Studio.

Krok 1: Otwórz Visual Studio

Otwórz najnowszą wersję programu Visual Studio i włącz tryb programisty. Zalecana jest najnowsza wersja programu Visual Studio.

Krok 2: Wyszukaj .NET Blazor

Teraz kliknij przycisk Utwórz nowy projekt i wyszukaj szablon .NET MAUI Blazor. Wybierz "Aplikacja .NET MAUI Blazor" z wyników wyszukiwania i kliknij przycisk Dalej.

.NET MAUI Blazor for (PDF,EXCEL,OCR,BARCODE,QR Code) - Figure 2: Search .NET MAUI Blazor App

Tworzenie aplikacji Visual Studio .NET MAUI

Krok 3: Ustal nazwę projektu

Nadaj projektowi odpowiednią nazwę i kliknij przycisk Dalej.

Krok 4: .NET Framework

Wybierz docelową platformę .NET Framework. Aby zapewnić płynną pracę, zaleca się korzystanie z najnowszej wersji środowiska. Po wybraniu frameworka kliknij przycisk Utwórz.

Postępując zgodnie z powyższymi krokami, zostanie utworzona aplikacja .NET MAUI Blazor.

.NET MAUI Blazor for (PDF,EXCEL,OCR,BARCODE,QR Code) - Figure 3: Search .NET MAUI Blazor App

Tworzenie aplikacji Visual Studio .NET MAUI

Zobaczmy, jak możemy wykorzystać ten projekt komponentu głównego Blazor dla IronPDF.

Eksportuj zawartość Blazor do pliku PDF

Możemy bardzo łatwo przekonwertować zawartość Blazor do formatu PDF, używając poniższego kodu.

Najpierw otworz plik Index.razor i zamien kod na nastepujacy:

@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
$vbLabelText   $csharpLabel

Ten kod pomaga pobrać wygenerowany plik PDF na komputer lokalny. W ten sposób możemy przekonwertować zawartość Blazor na plik PDF bez użycia żadnej zewnętrznej biblioteki z IronPDF.

.NET MAUI Blazor for (PDF,EXCEL,OCR,BARCODE,QR Code) - Figure 4: Blazor Content to PDF

Generowanie pliku PDF przy użyciu .NET MAUI Blazor

W polu tekstowym wpiszemy następujący kod 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>
<!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

Aplikacja MAUI Blazor generuje wynik przedstawiony poniżej.

.NET MAUI Blazor for (PDF,EXCEL,OCR,BARCODE,QR Code) - Figure 5: PDF Output

Generowanie pliku PDF przy użyciu .NET MAUI Blazor

Więcej informacji na temat IronPDF można znaleźć w samouczkach dotyczących tworzenia plików PDF w Blazor oraz w aplikacjach .NET MAUI.

IronXL

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

IronXL

IronXL to biblioteka .NET, która pozwala programistom na odczytywanie, edytowanie i tworzenie arkuszy kalkulacyjnych Excel w języku C#. Nie wymaga instalacji programu Microsoft Excel i obsługuje wszystkie platformy, w tym urządzenia z systemami Android, iOS, macOS, Windows oraz Azure. Oferuje szereg funkcji takich jak ladowanie i edytowanie danych z roznych formatow, zapisywanie i eksportowanie do roznych formatow, praca z obiektami System.Data, obsluga formul, sortowanie danych i stylowanie komorek. Ponadto jest on dostępny jako pakiet NuGet, a dokumentacja i przykłady są dostępne na jego stronie internetowej oraz w repozytoriach GitHub.

IronXL obsługuje .NET MAUI i Blazor, dając użytkownikom możliwość dostępu do danych lub pobierania ich z wielu źródeł, w tym arkuszy kalkulacyjnych Excel, usług internetowych lub Azure oraz innych aplikacji. Dzięki obsłudze .NET MAUI i Blazor przez IronXL programiści otrzymują najpotężniejsze narzędzia do tworzenia angażujących interfejsów użytkownika na urządzeniach z systemami iOS, macOS, Windows i Android.

Oto przykładowy kod 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")
$vbLabelText   $csharpLabel

Powyższy kod pomaga otworzyć istniejący plik Excel i zastosować formatowanie warunkowe w różnych zakresach komórek. Więcej samouczków dotyczących IronXL znajdziesz w poniższych samouczkach dotyczących formatowania warunkowego w Excelu.

IronOCR

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

IronOCR

IronOCR to narzędzie OCR szeroko stosowane wśród programistów C#, zapewniające proste API do integracji funkcji OCR z aplikacjami C#. Może skutecznie wyodrębniać tekst z różnych źródeł, takich jak zeskanowane dokumenty, pliki PDF i obrazy, wykorzystując zaawansowane algorytmy uczenia maszynowego do dokładnego rozpoznawania nawet zniekształconego lub trudnego do odczytania tekstu. IronOCR oferuje szereg opcji dostosowywania dla programistów C#, w tym możliwość dostosowania języka, czcionki i zestawu znaków rozpoznanego tekstu, gromadzenia prognoz oraz wstępnego przetwarzania obrazów w celu zwiększenia dokładności OCR. Te funkcje dostosowywania pozwalają programistom zoptymalizować wydajność IronOCR pod kątem ich konkretnych potrzeb.

IronOCR to potężna biblioteka rozpoznawania OCR, która obsługuje .NET MAUI i Blazor. Dzięki IronOCR programiści mogą szybko tworzyć aplikacje na dowolnej platformie, nie martwiąc się o złożoność skanowania, odczytu i zapisu ogromnych ilości danych tekstowych. Żadne inne oprogramowanie OCR nie zapewnia użytkownikom dostępu do tak szerokiej gamy narzędzi programistycznych przy tak prostej integracji.

Zapoznaj się z przykładem IronOCR, który pokazuje, jak można wyodrębnić tekst z pliku PDF za pomocą 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
$vbLabelText   $csharpLabel

Więcej poradników na temat korzystania z IronOCR w .NET Maui znajdziesz w tym poradniku dotyczącym OCR w .NET MAUI.

Więcej samouczków dotyczących IronOCR znajdziesz w poniższych samouczkach dotyczących OCR plików PDF.

IronBarCode

.NET MAUI Blazor for (PDF,EXCEL,OCR,BARCODE,QR Code) - Figure 8: IronBarCode

IronBarCode

Biblioteka IronBarCode to biblioteka C#, która ułatwia programistom dodawanie funkcji odczytu i zapisu kodów kreskowych do ich aplikacji C#. Ta biblioteka jest szczególnie przydatna dla osób pracujących nad projektami związanymi ze skanowaniem lub generowaniem BARCODE-ów, takimi jak systemy zarządzania zapasami lub systemy kasowe. Jedną z kluczowych funkcji IronBarCode jest możliwość odczytu i zapisu szerokiej gamy formatów kodów kreskowych, w tym kodów QR, Code 39, Code 128 i wielu innych. Oznacza to, że programiści mogą używać go do pracy z różnymi typami BARCODE-ów, w zależności od potrzeb swojego projektu.

IronBarCode obsługuje .NET MAUI i Blazor, dwa popularne frameworki używane przez programistów do tworzenia nowoczesnych, wielopłatformowych aplikacji. Jest to korzystne dla programistów, ponieważ pozwala im łatwo zintegrować zaawansowane funkcje generowania i skanowania kodów kreskowych IronBarCode z ich projektami .NET MAUI i Blazor.

Poniższy przykład kodu pokazuje, jak odczytać wiele typów kodów kreskowych za pomocą IronBarCode. Jest to bardzo prosty i łatwy do zrozumienia proces.

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:

Dim resultFromFile = BarcodeReader.Read("file/barcode.png") ' From a file

Dim resultFromBitMap = BarcodeReader.Read(New Bitmap("barcode.bmp")) ' From a bitmap

Dim resultFromAnyBitmap = BarcodeReader.Read(New AnyBitmap("barcode.bmp")) ' From AnyBitmap

Dim resultFromImage = BarcodeReader.Read(Image.FromFile("barcode.jpg")) ' From an image

Dim resultFromStream = BarcodeReader.Read(myStream) ' From a stream

' PDFs are more intricate and must be read using ReadPdf:
Dim resultFromPdf = BarcodeReader.ReadPdf("file/mydocument.pdf")
$vbLabelText   $csharpLabel

Więcej poradników na temat korzystania z IronBarCode w .NET Maui znajdziesz w tym poradniku dotyczącym skanera kodów kreskowych w .NET MAUI.

Więcej przykładów zastosowań i samouczków dotyczących IronBarCode znajdziesz w poniższym samouczku dotyczącym czytnika kodów kreskowych.

IronDrawing

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

IronDrawing

IronDrawing to bezpłatna biblioteka typu open source, która stanowi rozwiązanie dla programistów .NET potrzebujących tworzyć aplikacje wielopłatformowe wykorzystujące grafikę, obrazy i czcionki. Działa jako pomost między różnymi bibliotekami graficznymi, umożliwiając programistom stosowanie jednego, spójnego formatu w kodzie, przy jednoczesnej możliwości korzystania z wybranej biblioteki bazowej. IronDrawing jest kompatybilny z .NET Framework 4.6.2 i nowszymi wersjami, w tym .NET 5, 6 i 7.

IronDrawing jest rozwijane i utrzymywane przez Iron Software, zespół doświadczonych programistów .NET, któremu zależy na rozwoju i sukcesie .NET. Stworzyli IronDrawing, aby ułatwić tworzenie bibliotek klas i NuGet oraz pomóc w rozwoju ekosystemu NuGet.

Powód stworzenia IronDrawing

IronDrawing zostalo opracowane w odpowiedzi na zmiane wprowadzona przez Microsoft, z ktorej wynika, ze System.Drawing.Common beda wspierane tylko na platformach Windows. Ta zmiana stanowila problem dla deweloperow utrzymujacych wieloplatformowe biblioteki uzywajace System.Drawing.Common, poniewaz wymagala ona przebudowy ich bibliotek, aby wspieraly uzytkownikow innych niz Windows, takich jak Android, iOS. IronDrawing został stworzony jako format pośredni, który konwertuje dane między różnymi bibliotekami graficznymi, ułatwiając programistom przejście na nowe standardy graficzne w miarę ich pojawiania się.

Funkcje IronDrawing

IronDrawing oferuje szereg funkcji wspierajacych deweloperow, w tym AnyBitmap, uniwersalnie zgodna klase Bitmap, ktora moze byc rzutowana na rozne inne implementacje Bitmapy; Color, uniwersalnie zgodna klasa Color; CropRectangle, uniwersalnie zgodna klasa Rectangle; oraz AnyFont, uniwersalnie zgodna klasa Font. Zapewnia również niejawne rzutowanie między tymi klasami a ich odpowiednikami w różnych bibliotekach graficznych, umożliwiając łatwą konwersję między nimi. Można je pobrać ze strony NuGet.

IronDrawing obsługuje prawie wszystkie szablony .NET, w tym .NET MAUI i Blazor. Jego niezależność od platformy sprawia, że można go łatwo wykorzystać w różnych aplikacjach, od komputerów stacjonarnych z systemem Windows po projekty mobilne lub internetowe.

Zalety oprogramowania open source

IronDrawing to biblioteka typu open source. Każdy może uzyskać dostęp do kodu z repozytorium GitHub, co sprawia, że dostosowanie i modyfikacja biblioteki w celu lepszego dopasowania jej do indywidualnych projektów i potrzeb jest łatwiejsza niż kiedykolwiek. Co więcej, publiczna dostępność kodu źródłowego sprzyja współpracy między programistami, którzy dzielą się pomysłami i wzajemnie się inspirują. Możliwości biblioteki IronDrawing C# są nieograniczone — zajrzyj więc na GitHub i zacznij odkrywać!

Przyjrzyjmy sie przykladowi kodu IronDrawing do generowania AnyBitmap z wielu formatow plikow.

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")
$vbLabelText   $csharpLabel

IronDrawing wykorzystuje wiele metod do konwersji pliku ze ścieżki do formatu bitmapowego. Można zauważyć, że IronDrawing wykorzystuje strumień pamięci do konwersji pliku do formatu BMP, co jest bardzo pomocne w aplikacjach serwerowych. Podobnie można wygenerować plik BMP na podstawie pliku SVG.

.NET MAUI Blazor for (PDF,EXCEL,OCR,BARCODE,QR Code) - Figure 10: BMP File

Plik bitmapowy wygenerowany z biblioteki open source IronDrawing

Ceny

Iron Software oferuje zestaw pięciu produktów oprogramowania zwany Iron Suite. Zestaw zawiera IronPDF, IronXL, IronOCR, IronWebScraper i IronBarCode, które są narzędziami do pracy z PDF-ami, arkuszami kalkulacyjnymi, obrazami, scrapowaniem internetowym i kodami kreskowymi odpowiednio.

Te produkty sa indywidualnie wyceniane poczawszy od $999 za licencje, ale Iron Software oferuje specjalna cene pakietowa za caly zestaw produktow, ktora zaczyna sie od $1498. Iron Suite jest swietnym rozwiazaniem dla tych, ktorzy potrzebuja pracy z roznymi typami plikow i musza zautomatyzowac proces ich konwersji, analizy i manipulacji.

Wnioski

Podsumowując, .NET MAUI to framework do tworzenia wielopłatformowych aplikacji desktopowych i mobilnych. W artykułe omówiliśmy wiele bibliotek, takich jak IronPDF, IronXL, IronBarCode, IronOCR i IronDrawing, które zapewniają różnorodne funkcje do tworzenia i edycji dokumentów PDF, odczytu i zapisu plików Excel, generowania i skanowania kodów kreskowych, optycznego rozpoznawania znaków oraz rysowania i edycji grafiki.

Spośród tych bibliotek IronDrawing wyróżnia się jako potężne narzędzie dla programistów do tworzenia i edycji grafiki wektorowej w ich aplikacjach .NET. Oferuje szeroki zakres funkcji i jest łatwy w użyciu, co czyni go cennym dodatkiem do frameworka .NET MAUI. Ogólnie rzecz biorąc, połączenie .NET MAUI i tych bibliotek zapewnia programistom wszechstronny zestaw narzędzi do tworzenia nowoczesnych i bogatych w funkcje aplikacji na różnych platformach.

Często Zadawane Pytania

Jak mogę zintegrować funkcjonalność PDF z aplikacjami .NET MAUI?

Możesz zintegrować funkcjonalność PDF za pomocą IronPDF, który pozwala konwertować HTML na PDF przy użyciu silnika .NET Chromium. Ta integracja obsługuje tworzenie i edycję dokumentów PDF w aplikacjach .NET MAUI.

Jakie korzyści daje użycie biblioteki Excel w projektach .NET MAUI?

Korzystanie z IronXL w projektach .NET MAUI pozwala na manipulowanie arkuszami kalkulacyjnymi Excel bez konieczności instalowania programu Microsoft Excel. Obsługuje odczyt, edycję i tworzenie arkuszy kalkulacyjnych na różnych platformach, takich jak Android, iOS, macOS i Windows.

W jaki sposób IronOCR usprawnia wyodrębnianie tekstu w aplikacjach .NET MAUI?

IronOCR zapewnia zaawansowane funkcje OCR w aplikacjach .NET MAUI, umożliwiając dokładne wyodrębnianie tekstu ze skanowanych dokumentów, plików PDF i obrazów. Wykorzystuje algorytmy uczenia maszynowego i oferuje możliwość dostosowania do różnych języków i czcionek.

Jakie funkcje związane z kodami kreskowymi można zaimplementować w aplikacjach .NET MAUI i Blazor?

IronBarcode można zintegrować z aplikacjami .NET MAUI i Blazor, aby dodać funkcjonalności do odczytu i zapisu kodów kreskowych. Wspiera wiele formatów kodów kreskowych, w tym QR kody i Code 128, co jest odpowiednie dla aplikacji takich jak zarządzanie inwentarzem.

Jakie korzyści przynosi IronDrawing w rozwoju grafiki międzyplatformowej?

IronDrawing to bezpłatna, otwartoźródłowa biblioteka do tworzenia międzyplatformowych aplikacji graficznych w .NET. Zapewnia spójny format dla grafiki, wypełniając lukę pozostawioną przez zmiany w wsparciu dla System.Drawing.Common przez Microsoft.

Jaką rolę odgrywa BlazorWebView w aplikacjach .NET MAUI?

BlazorWebView to kontrolka w .NET MAUI, która pozwala programistom na integrację aplikacji serwerowej MAUI Blazor w projekcie .NET MAUI. Ułatwia tworzenie aplikacji międzyplatformowych poprzez renderowanie webowych kontrolek UI w ramach natywnej aplikacji.

Jak można osiągnąć rozwój międzyplatformowy za pomocą .NET MAUI?

Rozwój międzyplatformowy z .NET MAUI można osiągnąć, wykorzystując jego framework do budowy aplikacji uruchamianych na Androidzie, iOS, macOS i Windows. Integracja z BlazorWebView dodatkowo to wzmacnia, umożliwiając użycie webowych kontrolek UI.

Jakie są kluczowe cechy .NET MAUI dla nowoczesnego rozwoju aplikacji?

.NET MAUI oferuje framework do budowy międzyplatformowych aplikacji o wydajności natywnej. Kluczowe cechy obejmują integrację BlazorWebView dla webowych kontrolek UI oraz zgodność z bibliotekami takimi jak IronPDF, IronXL, IronOCR, IronBarcode i IronDrawing dla rozszerzonych funkcjonalności.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczą...

Czytaj więcej

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie