フッターコンテンツにスキップ
.NETヘルプ

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

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は、Webパフォーマンスを向上させるために、JavaScriptの最適化、圧縮、画像の最適化、静的ファイルのCSS最小化などのプロセスを自動化するためのツールです。 これらの最適化は、ウェブリソースサイズの削減に貢献し、ウェブアプリケーションのパフォーマンスを向上させ、ロード時間を短縮します。

WebGrease .NET Core (How It Works For Developers):図1</a

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

WebGreaseの特徴

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

CSSの最小化:

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

JavaScript圧縮:

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

画像最適化:

  • 品質を大幅に落とすことなく画像を圧縮します。
  • 必要に応じて、画像をより効率的な形式に変換します。
  • 画像リソースを最適化し、読み込み速度を向上させます。

HTMLの最小化:

  • HTMLファイルから空白とコメントを削除します。
  • HTMLファイルを簡素化し、ブラウザの解析とレンダリングを高速化します。

リソースバンドル:

  • 複数のJavaScriptファイルとCSSファイルを1つのファイルにまとめます。
  • ページの読み込みに必要なHTTPリクエスト数を減らし、読み込み時間を改善します。

設定の柔軟性:

  • 最適化プロセスを設定するためのオプションを提供します。
  • 開発者は、最適化または除外するディレクトリやファイルを選択できます。

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

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

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

  • デプロイ時や開発時にリソースを自動的に最適化するために、ビルド手順に統合することができます。
  • 開発フェーズ全体にわたって一貫した最適化を保証する自動化プロセスをサポートします。

改善されたパフォーマンス:

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

WebGreaseの作成と設定

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

.NETコアプロジェクトの作成

まず、新しい.NET Core Webアプリケーションを作成します。 この目的には、.NET CLIを使用できます。

dotnet new web -n WebGreaseApp
cd WebGreaseApp
dotnet new web -n WebGreaseApp
cd WebGreaseApp
SHELL

必須パッケージの追加

WebGrease用の直接の.NET Coreパッケージはありませんが、BundlerMinifierのような他のプログラムで同様の機能を実現できます。 このパッケージをプロジェクトに追加してください。

dotnet add package BundlerMinifier.Core
dotnet add package BundlerMinifier.Core
SHELL

バンドリングと最小化の設定

プロジェクトルートに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
    }
  }
]

ビルドプロセスと統合する

プロジェクトファイル(.csproj)のビルドプロセス中に、バンドルと最小化処理を実行する命令を追加します。

.csprojファイルの<Project>要素の中に次の要素を追加してください:

<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
  <Exec Command="dotnet bundle" />
</Target>
<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
SHELL

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

dotnet bundle
dotnet bundle
SHELL

画像の最適化

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

ImageSharpのインストール

SixLabors.ImageSharpパッケージをインストールしてください:

dotnet add package SixLabors.ImageSharp
dotnet add package SixLabors.ImageSharp
SHELL

以下は、画像最適化のコードスニペットの例です:

using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing;
using System.IO;

public void OptimizeImage(string inputPath, string outputPath)
{
    // Load the image
    using (var image = Image.Load(inputPath))
    {
        // Resize and optimize the image
        image.Mutate(x => x.Resize(new ResizeOptions
        {
            Mode = ResizeMode.Max,
            Size = new Size(800, 600)
        }));
        // Save the image in an optimized format
        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)
{
    // Load the image
    using (var image = Image.Load(inputPath))
    {
        // Resize and optimize the image
        image.Mutate(x => x.Resize(new ResizeOptions
        {
            Mode = ResizeMode.Max,
            Size = new Size(800, 600)
        }));
        // Save the image in an optimized format
        image.Save(outputPath); // Automatic encoder selected based on file extension.
    }
}
$vbLabelText   $csharpLabel

アプリケーションを実行して、バンドルと最小化が意図したとおりに動作していることを確認してください。 ブラウザでアプリケーションを開き、JavaScriptとCSSファイルが最小化されていることを確認してください。

以下の手順に従うことで、現在の.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 (How It Works For Developers):図2</a

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
SHELL

バンドリングと最小化の設定

bundleconfig.json設定ファイルが、必要に応じてバンドルとミニフィケーションの設定を再度提供するために配置されていることを確認してください:

[
  {
    "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
    }
  }
]

構築プロセスへの接続

.csprojファイルには、ビルドプロセス中に最小化およびバンドル操作を実行するための指示が含まれていることを確認してください。 <Project>要素内に次のTargetを追加してください:

<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
  <Exec Command="dotnet bundle" />
</Target>
<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");
        }
    }
}
$vbLabelText   $csharpLabel

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

WebGrease .NET Core (How It Works For Developers):図3</a

HTMLをPDFに変換するために、この関数はIronPDFのChromePdfRendererのインスタンスを作成します。 基本的なHTML文字列は、RenderHtmlAsPdf関数を使ってPDF文書に変換することができます。 BinaryData属性は、このPDFをバイト配列に保存するために使われます。 最後に、PDFファイルは、要求されたファイル名(example.pdf)と正しいMIMEタイプ(application/pdf)とともに、Fileメソッドを使ってダウンロード可能なレスポンスとして返されます。 この統合により、プログラムは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" });
    });
}
$vbLabelText   $csharpLabel

実行と検証

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

dotnet run
dotnet run
SHELL

ブラウザを開き、アプリケーションに移動します。 /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開発のためのツールキットを強化することができます。 IronPDFは、そのコアコンセプトと柔軟性の高いIron Softwareのツールボックスを組み合わせることで、より多くのウェブアプリケーションや機能へのアクセスを提供し、より効率的な開発を可能にします。

プロジェクトのライセンスオプションが明確に定義されているため、開発者は最適なモデルを容易に選択することができ、さまざまな問題に対するソリューションを迅速かつ整然と効率的に実行することができます。

よくある質問

.NET Coreでウェブアプリケーションのパフォーマンスを最適化するにはどうすればよいですか?

.NET CoreでWebGreaseを統合することで、JavaScript圧縮、画像最適化、CSS最小化を提供することによってウェブアプリケーションのパフォーマンスを強化できます。これらの技術はリソースサイズを減少させ、ロード時間を加速し、効率とユーザーエクスペリエンスを向上させます。

.NET CoreアプリケーションでHTMLからPDFを生成する利点は何ですか?

IronPDFを使用して.NET CoreアプリケーションでHTMLからPDFを生成することで、開発者はウェブコンテンツから直接印刷準備が整ったドキュメントを作成できます。これは、レポート、請求書、他のドキュメントを動的に生成するのに理想的で、元のHTMLのフォーマットを保持します。

.NET Coreアプリケーションで動的PDFをどのように作成できますか?

IronPDFを使用して.NET Coreアプリケーションで動的PDFを作成できます。HTMLやMVCビューを高品質のPDFに変換し、元の構造とデザインを維持したドキュメントの生成を可能にします。

.NET CoreアプリケーションにPDF生成を統合するプロセスはどのようになりますか?

.NET CoreアプリケーションにPDF生成を統合するには、IronPDFパッケージをインストールし、アプリケーションで必要な設定を構成し、RenderHtmlAsPdfのようなIronPDFのメソッドを使用してPDF生成ロジックを実装し、HTMLコンテンツをPDFに変換します。

WebGreaseはどのように.NET Coreアプリケーションのパフォーマンスを向上させますか?

WebGreaseは、CSSとJavaScriptの最小化、画像の最適化、リソースのバンドリングなどの最適化プロセスを自動化することで.NET Coreアプリケーションのパフォーマンスを向上させます。これらのプロセスはリソースサイズを減少させ、ロード時間を短縮し、アプリケーションの効率を向上させます。

LinuxやmacOSでWebGreaseとIronPDFを使用できますか?

はい、WebGreaseもIronPDFも.NET Coreに対応しており、LinuxやmacOSを含むさまざまなオペレーティングシステムでその機能を利用できます。Windowsでも使用可能です。

.NET CoreでIronPDFを使用する際の一般的なトラブルシューティングシナリオは何ですか?

.NET CoreでIronPDFを使用する際の一般的なトラブルシューティングシナリオには、すべての依存関係が正しくインストールされていることを確認し、構成設定を検証し、プロジェクト内の他のライブラリまたはパッケージとの競合を確認します。

IronPDFの文書生成の主要機能は何ですか?

IronPDFの主要機能には、PDFドキュメントの生成、読み取り、編集、HTMLやさまざまなファイル形式のPDFへの変換、複雑なデータレイアウトの維持が含まれ、.NET Coreアプリケーション内で高品質なドキュメント処理を保証します。

IronPDFはPDF変換のためにHTMLコンテンツをどのように処理しますか?

IronPDFはHTMLコンテンツを高品質のPDFに変換し、元のHTML構造を忠実に再現します。これにより、結果のPDFがソースコンテンツのレイアウト、スタイル、フォーマットを忠実に維持することを保証します。

.NET Coreアプリケーションで画像処理を最適化する方法は?

.NET Coreアプリケーションでの画像処理を最適化するには、ImageSharpのような画像最適化ツールを使用し、品質を大幅に損なうことなく画像を圧縮し、より効率的なフォーマットに変換することを検討してください。これにより、全体的なアプリケーションのパフォーマンスが向上します。

Jacob Mellor、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

Jacob Mellorは、Iron Softwareの最高技術責任者であり、C# PDF技術の開拓者としてその先進的な役割を担っています。Iron Softwareのコアコードベースのオリジナルデベロッパーである彼は、創業時から製品のアーキテクチャを形作り、CEOのCameron Rimingtonと協力してNASA、Tesla、全世界の政府機関を含む50人以上の会社に成長させました。

Jacobは、1998年から2001年にかけてマンチェスター大学で土木工学の第一級優等学士号(BEng)を取得しました。1999年にロンドンで最初のソフトウェアビジネスを立ち上げ、2005年には最初の.NETコンポーネントを作成し、Microsoftエコシステムにおける複雑な問題の解決を専門にしました。

彼の旗艦製品であるIronPDFとIronSuite .NETライブラリは、全世界で3000万以上のNuGetインストールを達成しており、彼の基本コードが世界中で使用されている開発者ツールを支えています。商業的な経験を25年間積み、コードを書くことを41年間続けるJacobは、企業向けのC#、Java、およびPython PDF技術の革新を推進し続け、次世代の技術リーダーを指導しています。