.NET ヘルプ

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

公開済み 2023年3月2日
共有:

.NETマルチプラットフォームアプリUI(.NET MAUI)BlazorWebViewコントロールが含まれており、これにより開発者はVisual Studioを使用してMAUI Blazorサーバーアプリを .NET MAUIプロジェクトに統合することができます。 これらのBlazorハイブリッドアプリ、すなわち.NET MAUI Blazorアプリは、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形式)複雑なAPIや手動のデザイン作業の必要をなくし、PDFファイルに変換します。 標準的なウェブドキュメントとして、HTML、ASPX、JS、CSS、および画像をサポートします。

Blazorと.NET MAUIとの互換性

Blazorコンポーネントで構築されたアプリケーションにIronPDFを簡単に統合できます。.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
VB   C#

このコードは生成された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の生成

以下のリンクからIronPDFの詳細情報をご覧ください:Blazor PDF作成チュートリアル以下のコンテンツを日本語に翻訳してください:.NET MAUIアプリケーション.

IronXL

IronXLは、開発者が最新のスプレッドシート機能を備えたスプレッドシートファイル(xls、xlsx、csvなど)を生成、操作、および利用するための強力なツールです。このライブラリは、.NET、Python、Javaなどのプログラミング言語で使用できます。IronXLを活用することで、アプリケーションにおけるデータ処理や分析を効率的に行うことができます。

主な機能:

  • スプレッドシートの作成と編集:
    • 新しいスプレッドシートファイルの作成
    • 既存のスプレッドシートファイルの読み込みおよび編集
  • セル、行、および列の操作
  • データ操作:
    • データのフィルタリングおよび並べ替え
    • 数式および関数の使用
  • セルスタイルとフォーマットの設定
  • インポートおよびエクスポート:
    • csv、xls、xlsx、tsvファイルなどのインポートおよびエクスポート
    • 複数のシートのサポート

IronXLはまた、Excelのスタイルやフォーマットの設定を簡単に行える機能も提供しており、開発者がユーザーフレンドリーなスプレッドシートソリューションを作成するのを助けます。また、IronXLは信頼性の高いパフォーマンスを提供し、スプレッドシート関連の多くのタスクを迅速かつ効率的に処理します。

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")
VB   C#

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

IronOCR

IronOCRは、開発者がC#およびVB.Netアプリケーションから画像やPDFドキュメントを読み取り、テキストを抽出することを可能にします。IronOCRは、製品の高いパフォーマンスと正確性で知られており、Microsoft OCRとTesseract OCRの技術を組み合わせています。これにより、複雑なレイアウトや出版物、手書きのテキストに対しても高い認識率を誇ります。

  • サポートされるファイル形式: PNG, JPG, GIF, TIFF, BMP, PDF
  • ユニークな機能: 複数言語のテキスト認識、回転・歪みの補正、ノイズ除去
  • 導入が簡単: .NETフレームワークや.NET Coreプロジェクトに簡単に統合可能
  • ライセンスオプション: Lite License, Plus License, Professional License, Unlimited License

IronOCRの利点

  1. 高い認識精度: IronOCRは最新のOCR技術を利用し、正確なテキスト抽出を実現します。
  2. 迅速な処理: 高速な処理速度で大量のドキュメントを効率的に処理できます。
  3. シンプルな統合: APIがシンプルで使いやすいため、開発者は短時間で機能を実装できます。

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
VB   C#

このリンクを訪問して、.NET MauiでIronOCRを使用する方法に関するチュートリアルをさらに読む.NET MAUIチュートリアルのOCR.

以下を使用してIronOCRに関するさらに多くのチュートリアルを取得できますPDF OCR チュートリアル.

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")
VB   C#

.NET Maui で IronBarcode を使用する方法に関するチュートリアルの詳細は、以下のリンクからご覧ください。.NET MAUIチュートリアルのBarCodeスキャナ.

以下を使用して、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")
VB   C#

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が含まれています。

これらの製品は、ライセンスあたり$liteLicenseからの個別価格設定となっていますが、Iron Softwareは全製品スイートに対する特別バンドル価格を提供しており、それは$1498から始まります。Iron Suite複数のファイルタイプを扱い、それらの変換、分析、操作プロセスを自動化する必要がある方にとって、素晴らしい解決策です。

結論

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

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

< 以前
.NET Frameworkとは
次へ >
Blazorフレームワークとは(開発者向けチュートリアルの仕組み)