.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
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 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
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 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")
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, 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")
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 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")
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 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.




