Altbilgi içeriğine atla
.NET YARDıM

.NET MAUI Blazor için (PDF, EXCEL, OCR, BARCODE, QR Code)

.NET Çok Platformlu Uygulama UI'si (.NET MAUI), Visual Studio kullanarak bir .NET MAUI projesine bir MAUI Blazor sunucu uygulaması entegre etmelerine olanak tanıyan BlazorWebView kontrolünü içerir. Bu Blazor hibrit uygulamaları, .NET MAUI Blazor uygulamaları olarak adlandırılır ve bir Blazor hibrit uygulamasının platforma özgü özellikler ile entegrasyonunu ve web UI (Kullanıcı Arayüzü) denetimlerinin işlenmesini mümkün kılar. Bu .NET MAUI Blazor uygulamaları çapraz platform uygulamalarıdır çünkü .NET MAUI çapraz platform çerçevesidir ve platforma özgü kod gerektirmez. .NET MAUI uygulamalarını Android cihazlar/Android emülatörleri, iOS, macOS, Mac Catalyst ve Windows işletim sistemi makinelerinde kullanabiliriz.

BlazorWebView kontrolü, bir .NET MAUI yerel uygulamasındaki herhangi bir sayfaya eklenebilir ve MAUI Blazor web uygulamasının kök dizinine yönlendirilebilir. .NET MAUI Blazor web uygulamasının Razor bileşenleri, daha sonra .NET işleminde yerel olarak çalışacak ve yerleşik bir web görünümü kontrolü aracılığıyla web UI bileşenlerini oluşturacaktır. MAUI Blazor hibrit uygulamalar, masaüstü uygulamaları veya Windows formları, .NET MAUI tarafından desteklenen tarayıcı karantinası da dahil olmak üzere tüm farklı platformlarda kullanılabilir.

.NET: Bir .NET PDF Kütüphanesi

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

IronPDF

Bir C# geliştiricisi olarak, iş için doğru araçlara sahip olmanın önemini biliyorsunuz. .NET burada devreye giriyor. Bu güçlü .NET sınıf kütüphanesi, çapraz platform API'leri kullanarak .NET Core ve .NET teknolojileri ile PDF işleme uygulamaları oluşturmayı kolaylaştırır. .NET, HTML sayfalarını (kodda veya URL formunda) PDF dosyalarına dönüştürmek için .NET Chromium motorunu kullanır, karmaşık API'lere ve manuel tasarım çalışmalarına ihtiyaç duyulmaksızın. HTML, ASPX, JS, CSS ve görüntüler gibi standart web belgelerini destekler.

Blazor ve .NET MAUI Uyumluluğu

.NET, Blazor bileşenleri ve .NET MAUI frameworkleri ile oluşturulan uygulamalara kolayca entegre edilebilir ve geliştiricilere PDF belgeleri oluşturmak ve düzenlemek için bir dizi özellik sunar. Bu özellikler, HTML, XML ve diğer dosya formatlarından PDF oluşturma yeteneğinin yanı sıra, mevcut PDF dosyalarına metin, görseller ve diğer .NET MAUI iş gücü öğeleri ekleyerek veya değiştirerek düzenleme yeteneğini içerir.

.NET MAUI Blazor Uygulaması Oluşturma Adımları

Visual Studio'da bir .NET MAUI uygulaması oluşturmak için aşağıdaki adımları izleyin.

Adım 1: Visual Studio'yu Açın

Visual Studio'nun en son sürümünü açın ve geliştirici modunu etkinleştirin. Visual Studio'nun en son sürümü önerilir.

Adım 2: .NET Blazor Ara

Şimdi Yeni Proje Oluştur düğmesine tıklayın ve .NET MAUI Blazor şablonunu arayın. Arama sonuçlarından ".NET MAUI Blazor App" seçin ve Sonraki düğmesine tıklayın.

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

.NET MAUI Uygulaması Oluşturma

Adım 3: Proje Adını Belirleme

Projeye uygun adı verin ve İleri düğmesine tıklayın.

Adım 4: .NET Framework

.NET hedef framework'ünü seçin. En yeni framework, sorunsuz çalışma için tavsiye edilir. Çerçeveyi seçtikten sonra, Oluştur butonuna tıklayın.

Yukarıdaki adımları takip ederek, bir .NET MAUI Blazor uygulaması oluşturulacaktır.

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

.NET MAUI Uygulaması Oluşturma

Bu kök Blazor bileşeni projesini IronPDF için nasıl kullanabileceğimizi görelim.

Blazor İçeriğini PDF'e Aktarma

Blazor içeriğini PDF'ye çok kolay bir şekilde dönüştürebiliriz, aşağıdaki kodu kullanarak.

Öncelikle Index.razor dosyasını açın ve kodu aşağıdaki kodla değiştirin:

@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

Bu kod, oluşturulan PDF dosyasını yerel bilgisayara indirmeye yardımcı olur. Blazor içeriğini IronPDF ile herhangi bir harici kütüphane kullanmadan PDF dosyasına dönüştürebilmemizin yoludur.

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

.NET MAUI Blazor kullanarak PDF oluşturma

Aşağıdaki HTML'i metin kutusuna gireceğiz:

<!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

MAUI Blazor Uygulaması, aşağıda gösterilen çıktıyı oluşturur.

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

.NET MAUI Blazor kullanarak PDF oluşturma

.NET hakkında daha fazla bilgi almak için Blazor PDF oluşturma eğitimlerine ve .NET MAUI uygulamalarına bakın.

IronXL

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

IronXL

IronXL, geliştiricilerin C# dilinde Excel tablolarını okumasına, düzenlemesine ve oluşturmasına olanak tanıyan bir .NET kütüphanesidir. Microsoft Excel'in yüklü olmasını gerektirmez ve Android, iOS, macOS, Windows makineleri ve Azure dahil tüm platformları destekler. Çeşitli formatlardan veri yükleme ve düzenleme, çeşitli formatlara kaydetme ve dışa aktarma, System.Data nesneleriyle çalışma, formülleri işleme, verileri sıralama ve hücreleri biçimlendirme gibi bir dizi özellik sunar. Ayrıca, NuGet paketi olarak mevcuttur ve belgeleri ile örnekleri, web sitesinde ve GitHub depolarında bulunur.

IronXL, .NET MAUI ve Blazor'u destekleyerek, kullanıcılara Excel elektronik tabloları, web veya Azure hizmetleri ve diğer uygulamalar dahil olmak üzere çeşitli kaynaklardan veri alma veya erişme olanağı sağlar. IronXL'nin .NET MAUI ve Blazor desteğiyle, geliştiricilere iOS, macOS ve Windows, Android cihazlarda etkileyici kullanıcı arayüzleri geliştirmek için en güçlü araçlar sağlanır.

IronXL ile bir örnek kod yazalım:

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

// Load an existing Excel workbook
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Create a specific conditional formatting rule for cells with values less than 8
ConditionalFormattingRule rule = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.LessThan, "8");

// Set different style options for the rule
rule.FontFormatting.IsBold = true; // Bold text
rule.FontFormatting.FontColor = "#123456"; // Custom font color
rule.BorderFormatting.RightBorderColor = "#ffffff"; // Right border color
rule.BorderFormatting.RightBorderType = BorderType.Thick; // Right border thickness
rule.PatternFormatting.BackgroundColor = "#54bdd9"; // Background color
rule.PatternFormatting.FillPattern = FillPattern.Diamonds; // Fill pattern

// Add the formatting rule to the specified cell range
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A8", rule);

// Create another conditional formatting rule for values between 7 and 10
ConditionalFormattingRule rule1 = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.Between, "7", "10");

// Set additional style options for the new rule
rule1.FontFormatting.IsItalic = true; // Italic text
rule1.FontFormatting.UnderlineType = FontUnderlineType.Single; // Single underline

// Add this formatting rule to a different range of cells
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A9", rule1);

// Save the workbook with the applied conditional formatting
workbook.SaveAs("ApplyConditionalFormatting.xlsx");
using IronXL;
using IronXL.Formatting;
using IronXL.Formatting.Enums;
using IronXL.Styles;

// Load an existing Excel workbook
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Create a specific conditional formatting rule for cells with values less than 8
ConditionalFormattingRule rule = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.LessThan, "8");

// Set different style options for the rule
rule.FontFormatting.IsBold = true; // Bold text
rule.FontFormatting.FontColor = "#123456"; // Custom font color
rule.BorderFormatting.RightBorderColor = "#ffffff"; // Right border color
rule.BorderFormatting.RightBorderType = BorderType.Thick; // Right border thickness
rule.PatternFormatting.BackgroundColor = "#54bdd9"; // Background color
rule.PatternFormatting.FillPattern = FillPattern.Diamonds; // Fill pattern

// Add the formatting rule to the specified cell range
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A8", rule);

// Create another conditional formatting rule for values between 7 and 10
ConditionalFormattingRule rule1 = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.Between, "7", "10");

// Set additional style options for the new rule
rule1.FontFormatting.IsItalic = true; // Italic text
rule1.FontFormatting.UnderlineType = FontUnderlineType.Single; // Single underline

// Add this formatting rule to a different range of cells
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A9", rule1);

// Save the workbook with the applied conditional formatting
workbook.SaveAs("ApplyConditionalFormatting.xlsx");
Imports IronXL
Imports IronXL.Formatting
Imports IronXL.Formatting.Enums
Imports IronXL.Styles

' Load an existing Excel workbook
Private workbook As WorkBook = WorkBook.Load("test.xlsx")
Private sheet As WorkSheet = workbook.DefaultWorkSheet

' Create a specific conditional formatting rule for cells with values less than 8
Private rule As ConditionalFormattingRule = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.LessThan, "8")

' Set different style options for the rule
rule.FontFormatting.IsBold = True ' Bold text
rule.FontFormatting.FontColor = "#123456" ' Custom font color
rule.BorderFormatting.RightBorderColor = "#ffffff" ' Right border color
rule.BorderFormatting.RightBorderType = BorderType.Thick ' Right border thickness
rule.PatternFormatting.BackgroundColor = "#54bdd9" ' Background color
rule.PatternFormatting.FillPattern = FillPattern.Diamonds ' Fill pattern

' Add the formatting rule to the specified cell range
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A8", rule)

' Create another conditional formatting rule for values between 7 and 10
Dim rule1 As ConditionalFormattingRule = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.Between, "7", "10")

' Set additional style options for the new rule
rule1.FontFormatting.IsItalic = True ' Italic text
rule1.FontFormatting.UnderlineType = FontUnderlineType.Single ' Single underline

' Add this formatting rule to a different range of cells
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A9", rule1)

' Save the workbook with the applied conditional formatting
workbook.SaveAs("ApplyConditionalFormatting.xlsx")
$vbLabelText   $csharpLabel

Yukarıdaki kod, mevcut Excel dosyasını açmanıza ve farklı hücre aralıklarına koşullu biçimlendirme uygulamanıza yardımcı olur. IronXL hakkında daha fazla öğreticiye ulaşmak için Excel koşullu biçimlendirme öğreticilerini kullanın.

IronOCR

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

IronOCR

IronOCR, C# uygulamalarına OCR işlevselliği entegre etmek için basit bir API sunarak, C# geliştiricileri arasında yaygın olarak kullanılan bir OCR aracıdır. Gelişmiş makine öğrenimi algoritmalarını kullanarak taranmış belgeler, PDF'ler ve görüntüler gibi çeşitli kaynaklardan gelen metni etkili bir şekilde çıkarabilir, bozulmuş veya okunması zor metinleri bile doğru bir şekilde tanıyabilir. IronOCR, C# geliştiricilerine tanınan metnin dilini, yazı tipini ve karakter setini ayarlama, tahminler toplama ve OCR doğruluğunu artırmak için görüntüleri ön işleme gibi bir dizi özelleştirme seçeneği sunar. Bu özelleştirme özellikleri geliştiricilerin IronOCR'un performansını kendi özel ihtiyaçlarına göre optimize etmelerini sağlar.

IronOCR, .NET MAUI ve Blazor'u destekleyen güçlü bir OCR tanıma kütüphanesidir. IronOCR ile geliştiriciler, metin veri okuma, yazma ve taramaktaki karmaşıklıklardan endişe etmeden her platformda hızlı bir şekilde uygulamalar oluşturabilirler. Başka hiçbir OCR yazılımı, bu kadar basit bir entegrasyonla kullanıcılarına bu kadar geniş bir yelpazede geliştirme aracı sunmaz.

IronOCR ile bir PDF dosyasından metin nasıl çıkarılabileceğini gösteren IronOCR örneğine bir göz atın.

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

IronOCR'yi .NET Maui'de nasıl kullanacağınızı öğrenmek için daha fazla öğretici okumak üzere bu .NET MAUI'de OCR öğreticisini ziyaret edin.

IronOCR hakkında daha fazla öğretici için aşağıdaki PDF OCR öğreticilerini kullanın.

IronBarcode

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

IronBarcode

IronBarcode, geliştiricilerin C# uygulamalarına barkod okuma ve yazma işlevselliği eklemesini kolaylaştıran bir C# kütüphanesidir. Bu kütüphane, özellikle envanter yönetim sistemleri veya satış noktası sistemleri gibi barkod tarama veya üretme ile ilgili projelerde çalışanlar için çok faydalıdır. IronBarcode'un ana özelliklerinden biri, QR kodları, Code 39, Code 128 ve birçok diğerini içeren geniş bir yelpazede barkod formatlarını okuyup yazabilme yeteneğidir. Bu, geliştiricilerin projelerinin ihtiyaçlarına bağlı olarak çeşitli farklı barkod türleriyle çalışmak için kullanabileceği anlamına gelir.

IronBarcode, geliştiricilerin modern ve platformlar arası uygulamalar oluşturmak için kullandığı popüler iki framework olan .NET MAUI ve Blazor'u destekler. Bu, geliştiriciler için faydalıdır çünkü IronBarcode'un güçlü barkod oluşturma ve tarama yeteneklerini .NET MAUI ve Blazor projelerine kolayca entegre etmelerini sağlar.

Aşağıdaki kod örneği, IronBarcode kullanarak birden fazla türde barkodu nasıl okuyabileceğinizi göstermektedir. Bu çok basit ve anlaşılması kolay bir süreçtir.

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

IronBarcode'u .NET Maui'de nasıl kullanacağınıza dair daha fazla öğretici okumak için bu .NET MAUI'de Barkod Tarayıcı öğreticisini ziyaret edin.

Daha fazla kullanım senaryosu ve IronBarcode eğitimi için, aşağıdaki Barkod Tarayıcı Okuyucu eğitimini kullanabilirsiniz.

IronDrawing

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

IronDrawing

IronDrawing, grafik, görüntü ve yazı tipleri kullanan platformlar arası uygulamalar oluşturması gereken .NET geliştiricileri için bir çözüm sunan, açık kaynaklı bir kütüphanedir. Farklı grafik kütüphaneleri arasında bir köprü görevi görerek geliştiricilerin kodlarında tek, tutarlı bir format kullanmalarına olanak tanırken, tercih ettikleri temel kütüphaneyi de kullanabilmelerini sağlar. IronDrawing, .NET Framework 4.6.2 ve daha yeni sürümlerle, .NET 5, 6 ve 7 dahil olmak üzere uyumludur.

IronDrawing, .NET'in büyümesi ve başarısına adanmış deneyimli .NET geliştiricilerinden oluşan bir ekip olan Iron Software tarafından geliştirilmiş ve sürdürülmektedir. Class kütüphaneleri ve NuGet geliştiriciliğini kolaylaştırmak ve NuGet ekosisteminin büyümesine katkıda bulunmak amacıyla IronDrawing'i oluşturdular.

IronDrawing Geliştirme Nedeni

IronDrawing, Microsoft'un yalnızca Windows platformlarında System.Drawing.Common destekleyeceğini duyurduğu bir kırıcı değişikliğe yanıt olarak geliştirildi. Bu değişiklik, System.Drawing.Common kullanan çapraz platform kütüphanelerini sürdüren geliştiriciler için sorun oluşturdu, çünkü Android, iOS gibi Windows dışı kullanıcıları desteklemek için kütüphanelerini yeniden inşa etmelerini gerektirdi. IronDrawing, farklı grafik kütüphaneleri arasında dönüştüren bir ara format olarak oluşturuldu ve geliştiricilerin yeni grafik standartlarına geçiş yapmasını kolaylaştırır.

IronDrawing Özellikleri

IronDrawing, geliştiricilere yardımcı olmak için çeşitli özellikler sunar, AnyBitmap, çeşitli diğer Bitmap uygulamalarına dönüştürülebilen evrensel uyumlu Bitmap sınıfı dahil; Color, evrensel uyumlu Color sınıfı; CropRectangle, evrensel uyumlu Rectangle sınıfı; ve AnyFont, evrensel uyumlu Font sınıfı. Ayrıca, bu sınıflar ve farklı grafik kütüphanelerindeki karşılıkları arasında örtülü tür dönüşümünü sağlar, böylece aralarında kolayca dönüşüm yapılabilmesine olanak tanır. Bunu NuGet websitesi üzerinden edinebilirsiniz.

IronDrawing, .NET MAUI ve Blazor dahil olmak üzere neredeyse tüm .NET şablonlarını destekler. Platformdan bağımsız yapısı, onu Windows masaüstünden mobil veya web tabanlı projelere kadar çeşitli uygulamalar için kullanımı kolay hale getirir.

Açık Kaynak Avantajları

IronDrawing açık kaynaklı bir kütüphanedir. Kod, GitHub deposu üzerinden erişilebilir ve bu, kütüphaneyi bireysel projeler ve ihtiyaçlara daha uygun hale getirmek için özelleştirmeyi ve değiştirmeyi her zamankinden daha kolay hale getirir. Sadece bununla kalmaz, aynı zamanda kaynak kodunun herkese açık olarak mevcut olması, geliştiriciler arasında işbirliğini teşvik ederken, fikirlerini paylaşmalarını ve birbirlerinin projeleri üzerine inşa etmelerini sağlar. IronDrawing C# kütüphanesi ile imkanlar sınırsız - bu yüzden GitHub'a göz atın ve keşfetmeye başlayın!

Farklı dosya formatlarından AnyBitmap oluşturmak için IronDrawing'in kod örneğine bir göz atalım.

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, dosyayı bir yoldan bitmap'e dönüştürmek için birden fazla yöntem kullanır. IronDrawing'in, dosyayı BMP'ye dönüştürmek için bellek akışını kullandığını görebilirsiniz; bu, sunucu tabanlı uygulamalarda çok yardımcıdır. Benzer şekilde, SVG dosyasını kullanarak BMP oluşturabilirsiniz.

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

IronDrawing açık kaynak kütüphanesinden üretilen bir Bitmap dosyası

Fiyatlandırma

Iron Software, Iron Suite adında beş yazılım ürününden oluşan bir paket sunuyor. Bu paket .NET, IronXL, IronOCR, IronWebScraper ve IronBarcode'u içerir ve bunlar sırasıyla PDF'lerle, hesap tablolarıyla, görüntülerle, web tarama işlemleriyle ve barkodlarla etkileşimde bulunmak için kullanılan araçlardır.

Bu ürünler, lisans başına $999 başlayarak bireysel olarak fiyatlandırılır, ancak Iron Software tüm ürün serisi için özel bir paket fiyatı sunar ve bu fiyat $1498'den başlar. Iron Suite, birden fazla dosya türü ile çalışması gereken ve bunları dönüştürme, analiz etme ve manipüle etme süreçlerini otomatikleştirmesi gerekenler için harika bir çözümdür.

Sonuç

Sonuç olarak, .NET MAUI, çoklu platformlarda masaüstü ve mobil uygulamalar geliştirmek için bir çerçevedir. Makale, PDF belgeleri oluşturma ve düzenleme, Excel dosyalarını okuma ve yazma, barkod oluşturma ve tarama, Optik Karakter Tanıma ve grafik çizimi ve manipülasyonu gibi çeşitli işlevsellikler sağlayan .NET, IronXL, IronBarcode, IronOCR ve IronDrawing gibi birçok kütüphaneyi ele aldı.

Bu kütüphaneler arasında, IronDrawing, geliştiricilerin .NET uygulamalarında vektörel grafikler oluşturup düzenlemeleri için güçlü bir araç olarak öne çıkar. Çok çeşitli özellikler sunar ve kullanımı kolaydır, bu da onu .NET MAUI framework'ü için değerli bir ek yapar. Genel olarak, .NET MAUI ve bu kütüphanelerin birleşimi, geliştiricilere çeşitli platformlarda modern ve zengin özelliklere sahip uygulamalar geliştirmek için esnek bir araç seti sunar.

Sıkça Sorulan Sorular

PDF işlevini .NET MAUI uygulamalarına nasıl entegre edebilirim?

HTML'yi .NET Chromium motorunu kullanarak PDF'ye dönüştüren IronPDF'yi kullanarak PDF işlevselliğini entegre edebilirsiniz. Bu entegrasyon, .NET MAUI uygulamalarınız içinde PDF belgeleri oluşturmayı ve manipüle etmeyi destekler.

.NET MAUI projelerinde bir Excel kütüphanesi kullanmanın avantajları nelerdir?

.NET MAUI projelerinizde IronXL kullanarak, Microsoft Excel yüklü olmadan Excel elektronik tablolalarını manipüle edebilirsiniz. Android, iOS, macOS ve Windows gibi platformlarda elektronik tabloların okunmasını, düzenlenmesini ve oluşturulmasını destekler.

IronOCR, .NET MAUI uygulamalarında metin çıkarımını nasıl geliştirir?

IronOCR, .NET MAUI uygulamalarında gelişmiş OCR yetenekleri sağlar ve taranan belgeler, PDF'ler ve görüntülerden metnin doğru bir şekilde çıkartılmasına olanak tanır. Makine öğrenme algoritmaları kullanır ve diller ve yazı tipleri için özelleştirme sunar.

.NET MAUI ve Blazor uygulamalarında ne tür barkod işlevleri uygulanabilir?

IronBarcode, .NET MAUI ve Blazor uygulamalarına barkod okuma ve yazma işlevsellikleri eklemek için entegre edilebilir. QR kodları ve Code 128 dahil olmak üzere birden fazla barkod formatını destekler ve envanter yönetimi gibi uygulamalar için uygundur.

IronDrawing'in platformlar arası grafik geliştirmesine faydası nedir?

IronDrawing, .NET'te platformlar arası grafik uygulamaları oluşturmak için ücretsiz, açık kaynaklı bir kütüphanedir. Grafikler için tutarlı bir format sağlar ve Microsoft'un System.Drawing.Common desteği değişiklikleriyle oluşan boşluğu doldurur.

.NET MAUI uygulamalarında BlazorWebView'in rolü nedir?

BlazorWebView, geliştiricilerin bir MAUI Blazor sunucu uygulamasını .NET MAUI projesine entegre etmesine olanak tanıyan bir kontrol mekanizmasıdır. Yerel uygulama içinde web UI kontrolleri render ederek platformlar arası uygulamalar oluşturulmasını kolaylaştırır.

.NET MAUI ile platformlar arası geliştirme nasıl başarılır?

.NET MAUI'nin sunduğu framework'ü kullanarak platformlar arası uygulamalar geliştirilebilir, Android, iOS, macOS ve Windows üzerinde çalışır. BlazorWebView ile entegrasyon, web UI kontrollerinin kullanımını sağlayarak bunu daha da geliştirmektedir.

Modern uygulama geliştirme için .NET MAUI'nin ana özellikleri nelerdir?

.NET MAUI, yerel performansla platformlar arası uygulamalar oluşturmak için bir çerçeve sunar. Ana özellikleri arasında, web UI kontrolleri için BlazorWebView entegrasyonu ve IronPDF, IronXL, IronOCR, IronBarcode ve IronDrawing gibi işlevselliği artıran kütüphane uyumluluğu bulunur.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara