.NET ヘルプ

.NET MAUI Blazorによる (PDF、EXCEL、OCR、BARCODE、QRコード)

.NET マルチプラットフォーム アプリ UI (.NET MAUI) には BlazorWebView コントロールが含まれており、開発者は Visual Studio を使用して MAUI Blazor サーバー アプリを .NET MAUI プロジェクトに統合できます。 これらのBlazorハイブリッドアプリは.NET MAUI Blazorアプリと呼ばれ、プラットフォーム固有の機能と統合し、Web UI(ユーザーインターフェース)のコントロールをレンダリングすることが可能です。 .NET MAUIはクロスプラットフォームフレームワークであり、プラットフォーム固有のコードを必要としないため、これらの.NET MAUI Blazorアプリはクロスプラットフォームアプリです。 Androidデバイス/Androidエミュレータ、iOS、macOS、Mac Catalyst、Windowsオペレーティングシステムマシン上の.NET MAUIアプリを使用できます。

BlazorWebView コントロールは、.NET MAUI ネイティブアプリの任意のページに追加でき、MAUI Blazor Webアプリケーションのルートに指示できます。 .NET MAUI Blazor ウェブアプリケーションの Razor コンポーネントは、.NET プロセス内でネイティブに実行され、埋め込みウェブビューコントロールを通じてウェブ UI コンポーネントをレンダリングします。 MAUI Blazorハイブリッドアプリ、デスクトップアプリまたはWindowsフォームは、ブラウザーサンドボックスを含む.NET MAUIがサポートするすべての異なるプラットフォームで使用できます。

IronPDF: .NET PDFライブラリ

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

IronPDF

C#開発者として、仕事に適したツールを持つことの重要性を理解しています。 そこでIronPDFの出番です。 この強力な.NETクラスライブラリは、クロスプラットフォームAPIを使用して、.NET Coreおよび.NETテクノロジーを用いたPDF処理アプリケーションの作成を容易にします。IronPDFは.NET Chromiumエンジンを使用して、HTMLページ(コードまたはURLの形式)をPDFファイルに変換し、複雑なAPIや手動のデザイン作業の必要性を排除します。 標準的なウェブドキュメントとして、HTML、ASPX、JS、CSS、および画像をサポートします。

Blazorと.NET MAUIとの互換性

IronPDF は Blazor コンポーネントおよび .NET MAUI フレームワークで構築されたアプリケーションに簡単に統合でき、PDF ドキュメントの作成および操作に関するさまざまな機能を開発者に提供します。 これらの機能には、HTML、XML、およびその他のファイル形式からPDFを生成する機能や、テキスト、画像、およびその他の.NET MAUIワークロード要素を追加または修正することで既存のPDFを編集する機能が含まれます。

.NET MAUI Blazor アプリを作成する手順

Visual Studioで.NET MAUIアプリを作成するには、以下の手順に従います。

ステップ1: Visual Studioを開く

最新バージョンのVisual Studioを開き、開発者モードを有効にしてください。 最新バージョンのVisual Studio をお勧めします。

ステップ2: .NET Blazorを検索

次に、「新しいプロジェクトの作成」ボタンをクリックし、.NET MAUI Blazor テンプレートを検索してください。 検索結果から「.NET MAUI Blazor App」を選択し、「次へ」ボタンをクリックします。

.NET MAUI Blazor for (PDF,EXCEL,OCR,BARCODE,QR Code) - 図2: .NET MAUI Blazorアプリの検索

Visual Studio .NET MAUI アプリケーションの作成

ステップ3:プロジェクト名の設定

プロジェクトに適切な名前を付け、「次へ」ボタンをクリックしてください。

手順4:.NET Framework

.NETターゲットフレームワークを選択してください。 最新のフレームワークを使用することがスムーズな作業を推奨します。 フレームワークを選択した後、作成ボタンをクリックしてください。

上記の手順に従うことで、.NET MAUI Blazorアプリが作成されます。

.NET MAUI Blazor for (PDF,EXCEL,OCR,BARCODE,QR Code) - 図 3: 検索 .NET MAUI Blazor アプリ

Visual Studio .NET MAUI アプリケーションの作成

このルートBlazorコンポーネントプロジェクトを使ってIronPDFをどのように利用できるか見てみましょう。

BlazorコンテンツをPDFにエクスポート

以下のコードを使用すると、Blazorのコンテンツを非常に簡単にPDFに変換できます。

まず、Index.razor ファイルを開き、次のコードにコードを置き換えます。

@page "/"
<input @bind="InputValue" />
<button onclick="@SubmitHTML">Render HTML</button>
@code{
    private string InputValue { get; set; }
    private async Task SubmitHTML()
    {
        var render = new IronPdf.ChromePdfRenderer();
        var doc = render.RenderHtmlAsPdf(InputValue);
        doc.SaveAs("Test.pdf");
    }

}
@page "/"
<input @bind="InputValue" />
<button onclick="@SubmitHTML">Render HTML</button>
@code{
    private string InputValue { get; set; }
    private async Task SubmitHTML()
    {
        var render = new IronPdf.ChromePdfRenderer();
        var doc = render.RenderHtmlAsPdf(InputValue);
        doc.SaveAs("Test.pdf");
    }

}
'INSTANT VB TODO TASK: The following line could not be converted:
page "/" <input bind="InputValue" /> <button onclick="@SubmitHTML"> Render HTML</button> code
If True Then
	private String InputValue {get;set;}
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'	private async Task SubmitHTML()
'	{
'		var render = New IronPdf.ChromePdfRenderer();
'		var doc = render.RenderHtmlAsPdf(InputValue);
'		doc.SaveAs("Test.pdf");
'	}

End If
$vbLabelText   $csharpLabel

このコードは生成されたPDFファイルをローカルマシンにダウンロードするのに役立ちます。IronPDFを使用して、外部ライブラリを利用せずにBlazorコンテンツをPDFファイルに変換する方法です。

.NET MAUI Blazor for (PDF、EXCEL、OCR、BARCODE、QRコード) - 図4: BlazorコンテンツをPDFに変換

.NET MAUI Blazorを使用したPDFの生成

テキストボックスに以下のHTMLを入力します:

<!DOCTYPE html>
<html>
  <head>
    <link href='https://fonts.googleapis.com/css2?family=Popin&display=swap' rel='stylesheet'>
    <style>
      /* Add CSS styles for the invoice here */
      body{
        font-family: 'Popin', cursive;
      }
      .invoice {
        width: 80%;
        margin: 0 auto;
        border: 1px solid #ccc;
        padding: 20px;
        background-color: #f5f5f5;
        color: #333;
      }
      .invoice h1 {
        text-align: center;
      }
      .invoice .invoice-info {
        display: flex;
        justify-content: space-between;
        margin-bottom: 20px;
      }
      .invoice .invoice-info div {
        width: 45%;
      }
      .invoice table {
        width: 100%;
        border-collapse: collapse;
      }
      .invoice table th, .invoice table td {
        border: 1px solid #ccc;
        padding: 10px;
      }
      .invoice table th {
        text-align: left;
        background-color: #f5f5f5;
      }
      .invoice table td {
        text-align: right;
      }
      .invoice table td.total {
        font-weight: bold;
      }
    </style>
  </head>
  <body>
    <div class="invoice">
      <h1>Invoice</h1>
      <div class="invoice-info">
        <div>
          <p><strong>From:</strong></p>
          <p>Your Company Name</p>
          <p>123 Main St</p>
          <p>City, State ZIP</p>
        </div>
        <div>
          <p><strong>To:</strong></p>
          <p>Customer Name</p>
          <p>456 Park Ave</p>
          <p>City, State ZIP</p>
        </div>
      </div>
      <table>
        <thead>
          <tr>
            <th>Product</th>
            <th>Quantity</th>
            <th>Price</th>
            <th>Total</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>Product 1</td>
            <td>1</td>
            <td>$10.00</td>
            <td>$10.00</td>
          </tr>
          <tr>
            <td>Product 2</td>
            <td>2</td>
            <td>$5.00</td>
            <td>$10.00</td>
          </tr>
          <tr>
            <td colspan="3" class="total">Total:</td>
            <td class="total">$20.00</td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>
<!DOCTYPE html>
<html>
  <head>
    <link href='https://fonts.googleapis.com/css2?family=Popin&display=swap' rel='stylesheet'>
    <style>
      /* Add CSS styles for the invoice here */
      body{
        font-family: 'Popin', cursive;
      }
      .invoice {
        width: 80%;
        margin: 0 auto;
        border: 1px solid #ccc;
        padding: 20px;
        background-color: #f5f5f5;
        color: #333;
      }
      .invoice h1 {
        text-align: center;
      }
      .invoice .invoice-info {
        display: flex;
        justify-content: space-between;
        margin-bottom: 20px;
      }
      .invoice .invoice-info div {
        width: 45%;
      }
      .invoice table {
        width: 100%;
        border-collapse: collapse;
      }
      .invoice table th, .invoice table td {
        border: 1px solid #ccc;
        padding: 10px;
      }
      .invoice table th {
        text-align: left;
        background-color: #f5f5f5;
      }
      .invoice table td {
        text-align: right;
      }
      .invoice table td.total {
        font-weight: bold;
      }
    </style>
  </head>
  <body>
    <div class="invoice">
      <h1>Invoice</h1>
      <div class="invoice-info">
        <div>
          <p><strong>From:</strong></p>
          <p>Your Company Name</p>
          <p>123 Main St</p>
          <p>City, State ZIP</p>
        </div>
        <div>
          <p><strong>To:</strong></p>
          <p>Customer Name</p>
          <p>456 Park Ave</p>
          <p>City, State ZIP</p>
        </div>
      </div>
      <table>
        <thead>
          <tr>
            <th>Product</th>
            <th>Quantity</th>
            <th>Price</th>
            <th>Total</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>Product 1</td>
            <td>1</td>
            <td>$10.00</td>
            <td>$10.00</td>
          </tr>
          <tr>
            <td>Product 2</td>
            <td>2</td>
            <td>$5.00</td>
            <td>$10.00</td>
          </tr>
          <tr>
            <td colspan="3" class="total">Total:</td>
            <td class="total">$20.00</td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>
HTML

MAUI Blazorアプリは以下に示される出力を生成します。

.NET MAUI Blazor for (PDF,EXCEL,OCR,BARCODE,QR Code) - 図5: PDF出力

.NET MAUI Blazorを使用したPDFの生成

.NET MAUIアプリケーションでIronPDFに関する詳細情報を取得します。

IronXL

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

IronXL

IronXL は、開発者がC#でExcelスプレッドシートを読み取り、編集し、作成できる.NETライブラリです。 Microsoft Excelをインストールする必要はなく、Android、iOS、macOS、Windowsマシン、Azureを含むすべてのプラットフォームに対応しています。 それは、様々な形式からのデータの読み込みと編集、様々な形式への保存とエクスポート、System.Dataオブジェクトの操作、数式の処理、データの並べ替え、セルのスタイル設定などの機能を提供します。 さらに、これはNuGetパッケージとして利用可能であり、ドキュメントと例がそのウェブサイトおよびGitHubリポジトリにあります。

IronXLは.NET MAUIとBlazorをサポートしており、ユーザーはExcelスプレッドシート、Webサービス、Azureサービス、その他のアプリケーションなど、さまざまなソースからデータにアクセスしたり、データを取得したりすることができます。 IronXL が.NET MAUIとBlazorをサポートすることで、開発者はiOS、macOS、Windows、Androidデバイス上で魅力的なユーザーインターフェイスを開発するための最も強力なツールを手に入れることができます。

以下はIronXLのサンプルコードです:

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

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

//Create a specific conditional formatting rule.
ConditionalFormattingRule rule = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.LessThan, "8");
//Set different style options.
rule.FontFormatting.IsBold = true;
rule.FontFormatting.FontColor = "#123456";
rule.BorderFormatting.RightBorderColor = "#ffffff";
rule.BorderFormatting.RightBorderType = BorderType.Thick;
rule.PatternFormatting.BackgroundColor = "#54bdd9";
rule.PatternFormatting.FillPattern = FillPattern.Diamonds;
//Add formatting with the specified region.
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A8", rule);

ConditionalFormattingRule rule1 = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.Between, "7", "10");
rule1.FontFormatting.IsItalic = true;
rule1.FontFormatting.UnderlineType = FontUnderlineType.Single;
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A9", rule1);

workbook.SaveAs("ApplyConditionalFormatting.xlsx");
using IronXL;
using IronXL.Formatting;
using IronXL.Formatting.Enums;
using IronXL.Styles;

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

//Create a specific conditional formatting rule.
ConditionalFormattingRule rule = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.LessThan, "8");
//Set different style options.
rule.FontFormatting.IsBold = true;
rule.FontFormatting.FontColor = "#123456";
rule.BorderFormatting.RightBorderColor = "#ffffff";
rule.BorderFormatting.RightBorderType = BorderType.Thick;
rule.PatternFormatting.BackgroundColor = "#54bdd9";
rule.PatternFormatting.FillPattern = FillPattern.Diamonds;
//Add formatting with the specified region.
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A8", rule);

ConditionalFormattingRule rule1 = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.Between, "7", "10");
rule1.FontFormatting.IsItalic = true;
rule1.FontFormatting.UnderlineType = FontUnderlineType.Single;
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A9", rule1);

workbook.SaveAs("ApplyConditionalFormatting.xlsx");
Imports IronXL
Imports IronXL.Formatting
Imports IronXL.Formatting.Enums
Imports IronXL.Styles

Private workbook As WorkBook = WorkBook.Load("test.xlsx")
Private sheet As WorkSheet = workbook.DefaultWorkSheet

'Create a specific conditional formatting rule.
Private rule As ConditionalFormattingRule = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.LessThan, "8")
'Set different style options.
rule.FontFormatting.IsBold = True
rule.FontFormatting.FontColor = "#123456"
rule.BorderFormatting.RightBorderColor = "#ffffff"
rule.BorderFormatting.RightBorderType = BorderType.Thick
rule.PatternFormatting.BackgroundColor = "#54bdd9"
rule.PatternFormatting.FillPattern = FillPattern.Diamonds
'Add formatting with the specified region.
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A8", rule)

Dim rule1 As ConditionalFormattingRule = sheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.Between, "7", "10")
rule1.FontFormatting.IsItalic = True
rule1.FontFormatting.UnderlineType = FontUnderlineType.Single
sheet.ConditionalFormatting.AddConditionalFormatting("A3:A9", rule1)

workbook.SaveAs("ApplyConditionalFormatting.xlsx")
$vbLabelText   $csharpLabel

上記のコードは、既存のExcelファイルを開き、異なるセル範囲に条件付き書式を適用するのに役立ちます。 次のExcel条件付き書式のチュートリアルを使用して、IronXLに関するチュートリアルをさらに入手してください。

IronOCR

.NET MAUI Blazorの(PDF,EXCEL,OCR,BARCODE,QRコード) - 図 7: IronOCR

IronOCR

IronOCR は、C# 開発者の間で広く使用されている OCR ツールであり、C# アプリケーションに OCR 機能を統合するためのわかりやすい API を提供します。 これは、高度な機械学習アルゴリズムを使用して、スキャンされたドキュメント、PDF、および画像などのさまざまなソースからテキストを効果的に抽出し、歪んだり読みづらいテキストでも正確に認識することができます。 IronOCRはC#開発者向けに、認識されたテキストの言語、フォント、文字セットの調整、予測収集、OCR精度を高めるための画像の前処理など、様々なカスタマイズオプションを提供しています。 これらのカスタマイズ機能により、開発者はその特定のニーズに合わせてIronOCRのパフォーマンスを最適化できます。

IronOCRは、.NET MAUIおよびBlazorをサポートする強力なOCR認識ライブラリです。 IronOCRを使用すると、開発者は膨大な量のテキストデータのスキャン、読み取り、書き込みの複雑さを心配することなく、あらゆるプラットフォーム上で迅速にアプリケーションを作成できます。 他のOCRソフトウェアは、このように開発ツールの多様な配列を提供し、かつ簡単に統合できるものはありません。

IronOCRを使ってPDFファイルからテキストを抽出する例をご覧ください。

using IronOcr;

var ocrTesseract = new IronTesseract();

using (var ocrInput = new OcrInput())
{
    // OCR 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 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 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

OCR in .NET MAUI チュートリアルを訪れて、.NET Maui で IronOCR を使用する方法についてのチュートリアルをもっと読む。

以下のPDF OCR チュートリアルを使用して、IronOCRに関するチュートリアルをさらに取得してください。

IronBarcode

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

IronBarcode

IronBarcodeは、開発者がC#アプリケーションにバーコードの読み取りおよび書き込み機能を簡単に追加できるようにするC#ライブラリです。 このライブラリは、在庫管理システムや販売時点管理システムなど、バーコードのスキャンや生成を伴うプロジェクトに携わる人にとって特に有用です。 IronBarcodeの主な機能の一つは、QRコード、Code 39、Code 128など、さまざまなバーコード形式の読み取りと書き込みができることです。 これは、開発者がプロジェクトのニーズに応じて、さまざまな種類のバーコードを扱うために使用できることを意味します。

IronBarcodeは、.NET MAUIおよびBlazorをサポートしています。これらは、開発者が最新のクロスプラットフォームアプリケーションを構築するために使用する人気のあるフレームワークです。 これは開発者にとって有益です。なぜなら、.NET MAUIおよびBlazorプロジェクトに強力なバーコード生成およびスキャン機能を持つIronBarcodeを簡単に統合できるからです。

以下のコード例は、IronBarcodeを使用して複数の種類のバーコードを読み取る方法を示しています。 それは非常に簡単でわかりやすいプロセスです。

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を.NET Mauiで使用する方法に関する詳細なチュートリアルは、こちらの.NET MAUIのバーコードスキャナーチュートリアルをご覧ください。

Barcode Scanner Reader tutorialを使用して、IronBarcodeのより多くのユースケースとチュートリアルを取得します。

IronDrawing

.NET MAUI Blazor for (PDF,EXCEL,OCR,BARCODE,QRコード) - 図9: IronDrawing

IronDrawing

IronDrawingは、グラフィックス、画像、およびフォントを使用するクロスプラットフォームのアプリケーションを作成する必要がある.NET開発者にソリューションを提供する、無料のオープンソースライブラリです。 それは異なるグラフィックライブラリ間の橋渡しとして機能し、開発者がコード内で単一の一貫した形式を使用しながらも、選択した基盤ライブラリを使用できるようにします。IronDrawingは、.NET Framework 4.6.2およびそれ以降のバージョン、.NET 5、6、7に対応しています。

IronDrawingはIron Softwareによって開発および保守されています。Iron Softwareは優れた.NET開発者のチームであり、.NETの成長と成功に貢献することに専念しています。 彼らはクラスライブラリとNuGet開発を容易にし、NuGetエコシステムの繁栄を支援するためにIronDrawingを作成しました。

IronDrawing 開発の理由

IronDrawingは、Microsoftによって発表された、System.Drawing.CommonがWindowsプラットフォームでのみサポートされるという重大な変更への対応として開発されました。 この変更は、System.Drawing.Commonを使用するクロスプラットフォームライブラリを維持する開発者に問題を提起しました。これは彼らに、AndroidやiOSなどの非Windowsユーザーをサポートするためにライブラリを再構築することを要求しました。 IronDrawingは、異なるグラフィックスライブラリ間で変換を行う中間フォーマットとして作成され、開発者が新しいグラフィックス標準に移行する際に容易になるよう支援します。

IronDrawingの特徴:

  1. 精度の高い画像描画 - IronDrawingは、高精度で画像を描画するために最先端のアルゴリズムを使用します。
  2. 広範なフォーマットのサポート - プロジェクトのニーズに合わせて、多種類の画像フォーマット(JPEG、PNG、BMPなど)をサポートします。
  3. 描画ツールの充実 - 直線、曲線、図形、テキストなど、様々な描画ツールを提供します。
  4. カスタマイズ可能なフィルター - 色調補正からぼかしまで、様々なフィルターを適用できます。
  5. 高いパフォーマンス - IronDrawingは、リソース使用を最適化して、高速な描画を実現します。
  6. 簡単な統合 - IronDrawingは、他のアプリケーションやシステムに簡単に統合できるよう設計されています。
  7. 開発者フレンドリー - 直感的で使いやすいAPIにより、開発者は迅速にプロジェクトを開始できます。
  8. 印刷対応 - 作成した画像をそのまま印刷することができます。

これにより、IronDrawingは高品質で効率的な画像描画を必要とするプロジェクトに最適です。

IronDrawingは、開発者を支援するためにいくつかの機能を提供しています。その中には、様々な他のBitmap実装にキャストできる汎用的に互換性のあるBitmapクラスであるAnyBitmapがあります。 Color、普遍的に互換性のあるColorクラス; CropRectangle、汎用性のあるRectangleクラス; およびAnyFont、汎用互換性のあるフォントクラス。 また、これらのクラスと異なるグラフィックスライブラリにおける対応するクラスとの間で暗黙的なキャスティングも提供しており、簡単な変換が可能です。 それは NuGet のウェブサイトから入手できます。

IronDrawingは、.NET MAUIおよびBlazorを含むほぼすべての.NETテンプレートをサポートします。 そのプラットフォームに依存しない性質により、Windowsデスクトップからモバイルやウェブベースのプロジェクトまで、さまざまなアプリケーションで簡単に使用できます。

オープンソースのメリット

IronDrawingはオープンソースのライブラリです。 誰でもGitHubリポジトリからコードにアクセスでき、個々のプロジェクトやニーズにより適した形でライブラリをカスタマイズおよび修正することがこれまでになく容易になりました。 さらに、ソースコードが公開されていることにより、開発者が互いのアイデアを共有し合ったり、それを基に発展させたりするコラボレーションが促進されます。 IronDrawing C# ライブラリを使えば、可能性は無限大です。ぜひGitHubをチェックして、さっそく探索を始めてください!

IronDrawingのコード例を見て、複数のファイル形式からAnyBitmapを生成してみましょう。

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は複数の方法でファイルをパスからビットマップに変換します。IronDrawingがメモリーストリームを使ってファイルをBMPに変換していることがわかりますが、これはサーバーベースのアプリケーションで非常に便利です。 同様に、SVGファイルを使用してBMPを生成することができます。

.NET MAUI Blazor for (PDF、EXCEL、OCR、BARCODE、QRコード) - 図10: BMPファイル

IronDrawingオープンソースライブラリから生成されたBitmapファイル

価格設定

Iron Softwareは、Iron Suiteと呼ばれる5つのソフトウェア製品のスイートを提供しています。このスイートには、PDF、スプレッドシート、画像、ウェブスクレイピング、およびバーコードとそれぞれ連携するツールであるIronPDF、IronXL、IronOCR、IronWebscraper、およびIronBarcodeが含まれています。

これらの製品はそれぞれ$749からライセンス単位で個別に価格設定されていますが、Iron Softwareはすべての製品スイートに特別なバンドル価格を提供しており、$1498から開始されます。Iron Suiteは、複数のファイルタイプを扱い、それらの変換、分析、操作プロセスを自動化する必要がある方にとって素晴らしいソリューションです。

結論

結論として、.NET MAUIはクロスプラットフォームのデスクトップおよびモバイルアプリケーションを構築するためのフレームワークです。 この記事では、PDFドキュメントの作成および操作、Excelファイルの読み書き、バーコードの生成およびスキャン、光学文字認識(OCR)、およびグラフィックの描画と操作に様々な機能を提供するIronPDF、IronXL、IronBarcode、IronOCR、およびIronDrawingなどの複数のライブラリについて議論しました。

これらのライブラリの中で、IronDrawingは、開発者が.NETアプリケーション内でベクターグラフィックを作成および編集するための強力なツールとして際立っています。 それは多岐にわたる機能を提供し、使いやすく、.NET MAUIフレームワークにとって価値のある追加機能です。 全体として、.NET MAUIとこれらのライブラリの組み合わせは、さまざまなプラットフォームでモダンで機能豊富なアプリケーションを構築するための汎用的なツールキットを開発者に提供します。

チペゴ
ソフトウェアエンジニア
チペゴは優れた傾聴能力を持ち、それが顧客の問題を理解し、賢明な解決策を提供する助けとなっています。彼は情報技術の学士号を取得後、2023年にIron Softwareチームに加わりました。現在、彼はIronPDFとIronOCRの2つの製品に注力していますが、顧客をサポートする新しい方法を見つけるにつれて、他の製品に関する知識も日々成長しています。Iron Softwareでの協力的な生活を楽しんでおり、さまざまな経験を持つチームメンバーが集まり、効果的で革新的な解決策を提供することに貢献しています。チペゴがデスクを離れているときは、良い本を楽しんだり、サッカーをしていることが多いです。
< 以前
.NET Frameworkとは
次へ >
Blazorフレームワークとは(開発者向けチュートリアルの仕組み)