Przejdź do treści stopki
POMOC .NET

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

Interfejs użytkownika aplikacji wieloplatformowej .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 wieloplatformowymi, ponieważ .NET MAUI jest frameworkiem wieloplatformowym 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.

Element BlazorWebView można dodać do dowolnej strony w natywnej aplikacji .NET MAUI i skierować do katalogu głównego aplikacji internetowej 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. Aplikacje hybrydowe MAUI Blazor, aplikacje desktopowe lub formularze Windows mogą być używane na wszystkich platformach obsługiwanych przez .NET MAUI, w tym w piaskownicy przeglądarki.

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 otwórz plik Index.razor i zastąp kod następującym kodem:

@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 ładowanie i edycja danych z różnych formatów, zapisywanie i eksportowanie do różnych formatów oraz praca z obiektami System.Data, obsługa formuł, sortowanie danych i formatowanie komórek. 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
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
Dim sheet As WorkSheet = workbook.DefaultWorkSheet

' Create a specific conditional formatting rule for cells with values less than 8
Dim 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, wieloplatformowych 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:

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")
$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 wieloplatformowe 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 tworzony i utrzymywany przez Iron Software, zespół doświadczonych programistów .NET, którzy są zaangażowani w rozwój i sukces platformy .NET. Stworzyli IronDrawing, aby ułatwić tworzenie bibliotek klas i NuGet oraz pomóc w rozwoju ekosystemu NuGet.

Powód stworzenia IronDrawing

IronDrawing został opracowany w odpowiedzi na ogłoszoną przez firmę Microsoft istotną zmianę, zgodnie z którą System.Drawing.Common będzie obsługiwany wyłącznie na platformach Windows. Zmiana ta stanowiła problem dla programistów utrzymujących biblioteki wieloplatformowe wykorzystujące System.Drawing.Common, ponieważ wymagała od nich przebudowy bibliotek w celu obsługi użytkowników systemów innych niż Windows, takich jak Android czy 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 kilka funkcji wspomagających pracę programistów, w tym AnyBitmap, uniwersalnie kompatybilną klasę Bitmap, którą można rzutować na różne inne implementacje Bitmap; Color, uniwersalnie kompatybilna klasa Color; CropRectangle, uniwersalnie kompatybilna klasa Rectangle; oraz AnyFont, uniwersalnie kompatybilną klasę 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 się przykładowemu kodowi IronDrawing służącemu do generowania AnyBitmap z wielu formatów plików.

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 pakiet pięciu produktów oprogramowania o nazwie Iron Suite. Pakiet obejmuje IronPDF, IronXL, IronOCR, IronWebscraper i IronBarcode, które są narzędziami służącymi odpowiednio do pracy z plikami PDF, arkuszami kalkulacyjnymi, obrazami, scrapowaniem stron internetowych oraz kodami kreskowymi.

Ceny poszczególnych produktów zaczynają się od $799 za licencję, ale firma Iron Software oferuje specjalną cenę pakietową za cały zestaw produktów, która zaczyna się od 1498 USD. Pakiet Iron Suite to doskonałe rozwiązanie dla osób, które muszą pracować z wieloma typami plików i potrzebują zautomatyzować proces ich konwersji, analizy i przetwarzania.

Wnioski

Podsumowując, .NET MAUI to framework do tworzenia wieloplatformowych aplikacji desktopowych i mobilnych. W artykule 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

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie