.NET ヘルプ

WebGrease .NET Core (開発者のための仕組み)

チペゴ
チペゴ・カリンダ
2024年8月13日
共有:

イントロダクション

WebGreaseのIronPDFと.NET Coreとの統合は、優れた品質のPDFドキュメントを作成し、Webアプリケーションのパフォーマンスを合理化するための強力な方法を提供します。 JavaScriptの圧縮、画像の最適化、CSSの最小化などの機能を備えたWebGreaseは、開発者にとってウェブサイトをより速く、よりスムーズに実行するための機能豊富なパッケージである。 PDFドキュメントの作成と操作のための強力な.NETツールキットであるIronPDFを使用すると、開発者はHTMLやMVCビューを含むいくつかのソースから簡単にダイナミックPDFを作成することができます。

この統合により、Webアプリケーションは流動的かつ適応的に保たれ、効果的なリソース管理とダイナミックなPDF生成が可能になります。 WebGrease と IronPDF は .NET Core と完全に互換性があり、開発者は Linux、macOS、および Windows 上で完璧に動作するクロスプラットフォームアプリケーションを作成できます。 その結果、最適化されたパフォーマンスと優れたドキュメント処理により、ユーザーエクスペリエンスが向上します。

WebGreaseとは?

元々ASP .NETスタックのコンポーネントとして作成されたWebGreaseは、JavaScriptの最適化、圧縮、画像の最適化、CSSの縮小化などのプロセスを自動化し、ウェブパフォーマンスを向上させるためのツールです。 これらの最適化は、ウェブリソースサイズの削減に貢献し、ウェブアプリケーションのパフォーマンスを向上させ、ロード時間を短縮します。

WebGrease .NET Core(開発者向けの動作方法):図1

.NET Coreの文脈では、WebGreaseについて説明する場合、これらの最適化手法を.NET Coreアプリケーションに適用することを意味する。 Microsoftは、クロスプラットフォームでオープンソースの.NET Coreフレームワークを作成し、開発者が最先端のスケーラブルで高性能なアプリケーションを作成できるようにしました。開発者は、WebGreaseを統合することで、従来のASP.NETアプリケーションのパフォーマンス最適化技術を.NET Coreプロジェクトに適用できます。 こうすることで、開発者は、Windows、Linux、macOSなど、さまざまなプラットフォーム上でウェブアプリケーションを効率的かつ高性能にすることができる。

WebGreaseの特徴

.NET Coreの枠組みの中で、WebGreaseは、Webアプリケーションの有効性と速度を強化することをターゲットとした多くの機能を提供します。 主な特徴は以下の通りである:

CSSの最小化:

CSSファイルから余計な書式、コメント、空白を削除します。 多数のCSSファイルを1つのファイルにまとめることで、HTTPリクエストを削減します。パフォーマンスを向上させ、CSSの読み込み時間を短縮します。

JavaScript圧縮:

不要な文字を削除することで、JavaScriptファイルを最小化します。 複数の別々のJavaScriptファイルから1つのJavaScriptファイルを作成する。 JavaScriptファイルのサイズを最小化し、ダウンロードと実行時間を短縮します。

画像最適化:

画質を著しく損なうことなく画像を圧縮し、ファイルサイズを縮小します。 必要に応じて、写真をより効率的なフォーマットに変換する。 画像リソースの最適化により読み込み速度を向上。

HTMLの縮小:

HTMLファイルの空白とコメントの量を減らす。 HTMLファイルを簡素化し、ブラウザがより速く解析し、レンダリングできるようにします。

リソースバンドリング:

複数のJavaScriptファイルとCSSファイルを1つの合理化されたファイルにまとめます。ロードファイルの取得、静的ファイルの取得、ページのロードに必要なHTTPリクエストの量を減らすことで、ロード時間を改善します。

構成の柔軟性:

最適化プロセスを設定するための選択肢を提供します。 開発者は、どのディレクトリやファイルを最適化するか、または除外するかを選択することができます。

クロスプラットフォーム互換性:

.NET Coreと完全に互換性があり、Windows、Linux、macOSアプリで使用可能。パフォーマンスの向上がさまざまな環境でうまく機能することを保証します。

ビルドプロセスとの統合:

デプロイ時や開発時にシステムリソースを自動的に最適化するために、ビルド手順に組み込むことができる。 様々な開発段階において、システムの一貫した最適化を保証する自動化プロセスをサポート。

パフォーマンスの向上:

読み込まなければならないリソースの量を最小限に抑えることで、ウェブアプリケーション全体のパフォーマンスを向上させます。 ユーザーエクスペリエンスを向上させ、ページの読み込みを高速化します。

WebGreaseの作成と設定

.NET Coreアプリケーションは、WebGreaseを使用する前に、必要なパッケージをインストールし、ビルドプロセスを設定し、最適化タスクを設定する必要があります。 以下の手順は、.NET CoreアプリケーションでWebGreaseを確立し、設定するのに役立ちます:

.NET Coreプロジェクトの作成

まず、新しい.NET Core Webアプリケーションを作成する。そのためには、.NET CLIを使用します。

dotnet new web -n WebGreaseApp
cd WebGreaseApp
dotnet new web -n WebGreaseApp
cd WebGreaseApp
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

必要なパッケージの追加

WebGrease用の直接の.NET Coreパッケージはありませんが、BundlerMinifierのような他のプログラムでも同等の機能を実現できます。 このバンドルは、あなたの仕事に含める。

dotnet add package BundlerMinifier.Core
dotnet add package BundlerMinifier.Core
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

バンドルと最小化の設定

プロジェクトルートにbundleconfig.jsonファイルを作成し、CSSファイルとJavaScriptファイルのバンドルと最小化の設定を行います。 これは構成の一例である。

[
  {
    "outputFileName": "wwwroot/css/site.min.css",
    "inputFiles": [
      "wwwroot/css/site.css"
    ],
    "minify": {
      "enabled": true,
      "renameLocals": true
    }
  },
  {
    "outputFileName": "wwwroot/js/site.min.js",
    "inputFiles": [
      "wwwroot/js/site.js"
    ],
    "minify": {
      "enabled": true
    }
  }
]
[
  {
    "outputFileName": "wwwroot/css/site.min.css",
    "inputFiles": [
      "wwwroot/css/site.css"
    ],
    "minify": {
      "enabled": true,
      "renameLocals": true
    }
  },
  {
    "outputFileName": "wwwroot/js/site.min.js",
    "inputFiles": [
      "wwwroot/js/site.js"
    ],
    "minify": {
      "enabled": true
    }
  }
]
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ビルドプロセスとの統合

ビルドプロセス中にバンドルと縮小の操作を実行する手順をプロジェクトファイル(.csproj)に追加します。

.csprojファイルの要素内に、以下の要素を追加する:

<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
  <Exec Command="dotnet bundle" />
</Target>
XML

BundlerMinifierのインストールと実行

BundlerMinifierツールを使用するには、.NETユーティリティをインストールする必要があります。 以下のコマンドラインを実行する:

dotnet tool install -g BundlerMinifier.Core
dotnet tool install -g BundlerMinifier.Core
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ファイルをバンドルして最小化するには、以下を実行する:

dotnet bundle
dotnet bundle
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

画像の最適化

画像の最適化には、ImageSharpなどの.NET Core準拠の画像最適化ツールを使用できます。

ImageSharpのインストール

SixLabors.ImageSharpパッケージをインストールします:

dotnet add package SixLabors.ImageSharp
dotnet add package SixLabors.ImageSharp
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

画像最適化のためのコードスニペットの例です:

using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing;
using System.IO;
public void OptimizeImage(string inputPath, string outputPath)
{
    using (var image = Image.Load(inputPath))
    {
        image.Mutate(x => x.Resize(new ResizeOptions
        {
            Mode = ResizeMode.Max,
            Size = new Size(800, 600)
        }));
        image.Save(outputPath); // Automatic encoder selected based on file extension.
    }
}
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing;
using System.IO;
public void OptimizeImage(string inputPath, string outputPath)
{
    using (var image = Image.Load(inputPath))
    {
        image.Mutate(x => x.Resize(new ResizeOptions
        {
            Mode = ResizeMode.Max,
            Size = new Size(800, 600)
        }));
        image.Save(outputPath); // Automatic encoder selected based on file extension.
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

アプリケーションを最後にもう一度実行し、バンドルとミニ化が意図したとおりに動作していることを確認する。

ブラウザでアプリケーションを開き、JavaScriptとCSSのファイルを見て、minifiedされていることを確認する。

現在の.NET環境で動作するツールを使って、以下の手順で.NET CoreアプリケーションにWebGreaseのような最適化を設定し、構成することができます。

IronPDF の始め方

.NET CoreアプリケーションでIronPDFとWebGreaseのような最適化を統合するには、Webリソースのパフォーマンス最適化を設定することと、PDF生成と操作にIronPDFを使用することの両方が必要です。 ステップ・バイ・ステップで始めましょう:

IronPDFとは何ですか?

多機能な.NETライブラリIronPDFは、C#プログラムでPDFドキュメントの生成、読み取り、および編集を可能にします。 このプログラムを使えば、開発者はHTML、CSS、JavaScriptの情報を高品質で印刷可能なPDFに簡単に変換できます。 最も重要なタスクには、ヘッダーとフッターの追加、PDFの分割と結合、文書への透かしの追加、HTMLからPDFへの変換などがあります。

IronPDFは.NET Frameworkと.NET Coreの両方をサポートしているので、様々なアプリケーションに役立ちます。 PDFはユーザーフレンドリーであり、広範なコンテンツを含んでいるため、開発者は簡単に製品に組み込むことができる。 IronPDFは複雑なデータレイアウトやフォーマットを扱うことができるため、出力として生成されるPDFは、クライアントから元々提供されたHTMLテキストを忠実に反映しています。

WebGrease .NET Core(開発者向けの仕組み):図2

IronPDFの機能

HTMLからのPDF生成

JavaScript、HTML、CSSをPDFに変換。 メディアクエリとレスポンシブデザインをサポート。 HTMLとCSSを使用してPDF文書、レポート、請求書を動的に装飾するのに便利です。

PDF編集

既存のPDFにテキスト、写真、その他のコンテンツを追加することができます。 PDFファイルからテキストや画像を取り出します。 多数のPDFを1つのファイルに結合します。PDFファイルを複数の別々のドキュメントに分割します。 透かし、注釈、ヘッダー、フッターを含む。

PDF変換

Word、Excel、画像ファイルなど、さまざまなファイル形式をPDFに変換。 PDFを画像に変換する機能を提供します(PNG、JPEGなど)。

パフォーマンスと信頼性

高い性能と信頼性は、産業環境において望まれる設計品質である。 大きな文書セットも簡単に管理。

IronPDF をインストール

.NETプロジェクトでPDFを扱うために必要なツールを得るには、IronPDFパッケージをインストールしてください。

dotnet add package IronPdf
dotnet add package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronPdf
$vbLabelText   $csharpLabel

バンドルと最小化の設定

プロジェクトルートにbundleconfig.json設定ファイルを作成し、CSSファイルとJavaScriptファイルのバンドルと最小化の設定を行います。 このコンフィグファイルはコンフィギュレーションの一例である:

[
  {
    "outputFileName": "wwwroot/css/site.min.css",
    "inputFiles": [
      "wwwroot/css/site.css"
    ],
    "minify": {
      "enabled": true,
      "renameLocals": true
    }
  },
  {
    "outputFileName": "wwwroot/js/site.min.js",
    "inputFiles": [
      "wwwroot/js/site.js"
    ],
    "minify": {
      "enabled": true
    }
  }
]
[
  {
    "outputFileName": "wwwroot/css/site.min.css",
    "inputFiles": [
      "wwwroot/css/site.css"
    ],
    "minify": {
      "enabled": true,
      "renameLocals": true
    }
  },
  {
    "outputFileName": "wwwroot/js/site.min.js",
    "inputFiles": [
      "wwwroot/js/site.js"
    ],
    "minify": {
      "enabled": true
    }
  }
]
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

建築プロセスに接続する

ビルドプロセス中に最小化とバンドルの操作を実行するための指示をプロジェクトファイル(.csproj)に含めてください。 .csprojファイルに、以下の要素を要素内に追加する:

<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
  <Exec Command="dotnet bundle" />
</Target>
XML

IronPDFの統合

IronPDFでPDFを生成するコントローラを構築する。 新しい PdfController コントローラを作成します。

using Microsoft.AspNetCore.Mvc;
using IronPdf;
namespace WebGreaseIronPdfApp.Controllers
{
    public class PdfController : Controller
    {
        public IActionResult GeneratePdf()
        {
            // Create a PDF from a simple HTML string
            var renderer = new ChromePdfRenderer();
            var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, IronPDF!</h1><p>This is a generated PDF document.</p>");
            // Save the PDF to a byte array
            var pdfBytes = pdf.BinaryData;
            // Return the PDF file as a download
            return File(pdfBytes, "application/pdf", "example.pdf");
        }()
}
using Microsoft.AspNetCore.Mvc;
using IronPdf;
namespace WebGreaseIronPdfApp.Controllers
{
    public class PdfController : Controller
    {
        public IActionResult GeneratePdf()
        {
            // Create a PDF from a simple HTML string
            var renderer = new ChromePdfRenderer();
            var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, IronPDF!</h1><p>This is a generated PDF document.</p>");
            // Save the PDF to a byte array
            var pdfBytes = pdf.BinaryData;
            // Return the PDF file as a download
            return File(pdfBytes, "application/pdf", "example.pdf");
        }()
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

PdfControllerコードで最初に行うことは、必要な名前空間をインポートすることです。これには、ASP.NET Core MVC機能用のMicrosoft.AspNetCore.MvcとPDF生成用のIronPDFが含まれます。 Controller から派生しているので、PdfController クラスは MVC コントローラです。 このクラスのGeneratePdfメソッドは、PDFの作成を管理するために定義されています。

WebGrease .NET Core(開発者のための動作方法):図3

HTML素材をPDFに変換するために、この機能はIronPDFのChromePdfRenderer()のインスタンスを作成します。 基本的なHTML文字列は、RenderHtmlAsPdf関数を使ってPDF文書に変換することができます。 BinaryData属性は、このPDFをバイト配列に保存するために使われます。 最後に、PDFファイルはFileメソッドを使用してダウンロード可能なレスポンスとして返され、要求されたファイル名(example.pdf)と正しいMIMEタイプ(application/pdf)が含まれます。 この統合により、プログラムはHTMLコンテンツに基づいてPDF文書を動的に作成し、提供できるようになった。

PDF生成ルート

PDF生成ルーティングがStartup.csファイルに含まれていることを確認してください。

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
        app.UseHsts();
    }
    app.UseHttpsRedirection();
    app.UseStaticFiles();
    app.UseRouting();
    app.UseAuthorization();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
        endpoints.MapControllerRoute(
            name: "pdf",
            pattern: "pdf",
            defaults: new { controller = "Pdf", action = "GeneratePdf" });
    });
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
        app.UseHsts();
    }
    app.UseHttpsRedirection();
    app.UseStaticFiles();
    app.UseRouting();
    app.UseAuthorization();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
        endpoints.MapControllerRoute(
            name: "pdf",
            pattern: "pdf",
            defaults: new { controller = "Pdf", action = "GeneratePdf" });
    });
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

実行と検証

アプリケーションを実行して、PDFを作成できること、バンドルと最小化が正しく機能していることを確認します。

dotnet run
dotnet run
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet run
$vbLabelText   $csharpLabel

ブラウザを開き、アプリケーションに移動する。 一つのファイルを作成し、//pdfにアクセスしてPDF文書をダウンロードすることは可能なはずです。

結論

IronPDFとWebGreaseのような最適化を組み合わせることで、.NET Coreアプリケーションでオンラインパフォーマンスを改善し、高品質のPDFドキュメントを作成するための強力なコンボを提供します。 開発者は、PDFを作成するIronPDFやリソースを最適化するBundlerMinifierのようなツールを使うことで、アプリを効果的かつ柔軟にすることができる。 画像圧縮に加え、CSSやJavaScriptの最小化などのリソース最適化戦略も、ページ読み込みを高速化し、ユーザー体験を向上させるのに役立つ。 同時に、IronPDFはHTMLテキストから動的にPDFを作成する強力な機能を持っており、請求書やレポートなどのような適切に準備されたドキュメントの作成プロセスを簡素化します。

この統合は、.NET Coreフレームワーク内で現代のWeb開発ニーズに完全なソリューションを提供し、オンラインアプリケーションのパフォーマンスを向上させるだけでなく、PDFを処理するための便利な機能を追加します。

IronPDFIron Softwareを使用すると、OCR、バーコードスキャン、PDF作成、Excel接続などを活用し、.NET開発用ツールキットを強化できます。 開始価格$749で、IronPDFは開発者により多くのウェブアプリケーションと機能、さらに効果的な開発アクセスを提供します。 そのために、コアコンセプトと非常に柔軟なIron Softwareのツールボックスを組み合わせている。

プロジェクトのライセンスの選択肢が明確に定義されていれば、開発者は最適なモデルを容易に選択できる。 前述した利点は、開発者がさまざまな問題に対して迅速かつ組織的、効率的に解決策を実行するのに役立つ。

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