.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
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.
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.
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
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.
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>
Aplikacja MAUI Blazor generuje wynik przedstawiony poniżej.
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
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")
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
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
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
IronBarcode
Jak stworzyć skaner BarCode w .NET Maui
- Pobierz bibliotekę C# do tworzenia skanera BarCode w Maui
- Wykorzystaj metodę
Readdo skanowania BarCodes z plików PDF i obrazów - Obsługa szerokiej gamy formatów BARCODE, w tym kodów QR, Code 39, Code 128 i innych
- Łatwa integracja biblioteki C# z istniejącymi projektami .NET MAUI i Blazor
- Zastosuj przetwarzanie wstępne do obrazów o niskiej jakości
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")
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
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")
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.
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.




