.NET幫助 WebGrease .NET Core(對開發者如何理解的工作) Jacob Mellor 更新:2025年6月22日 下載 IronPDF NuGet 下載 DLL 下載 Windows Installer 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 WebGrease與IronPDF及.NET Core的整合,提供了一種強大的方法來產生高品質的PDF文件並簡化網站應用程式的效能。 透過使用JavaScript壓縮、圖片優化和CSS最小化,WebGrease是讓網站運行得更快和更流暢的功能豐富的套件,適合開發者使用。 開發者可以輕鬆地從多個來源(包括HTML和MVC視圖)生成動態PDF,IronPDF是一個強大的.NET工具集,用於生成和操作PDF文件。 此整合讓網站應用程式保持流暢和適應性,從而實現有效的資源管理和動態PDF生成。 WebGrease和IronPDF完全相容於.NET Core,使開發者能夠創建跨平台應用程式,能夠在Linux、macOS和Windows上完美運行。 這讓經過優化的效能和優越的文件處理帶來增強的使用者體驗。 什麼是WebGrease? 最初創建為ASP.NET堆棧的一部分,WebGrease是一個用來自動化過程的工具,如優化JavaScript、壓縮、圖片優化和CSS最小化靜態文件,以提高網頁效能。 這些優化有助於減少網頁資源大小,從而改善網站應用程式效能並加速載入時間。 在.NET Core的背景下,當我們討論WebGrease時,我們是指將這些優化方法應用於.NET Core應用程式。 Microsoft創建了跨平台、開放源碼的.NET Core框架,讓開發者創建先進、具擴展性和高效能的應用程式。開發者可以通過整合WebGrease將傳統ASP.NET應用程式的效能優化技術應用於其.NET Core專案。 通過這種方式,開發者可以確保其網站應用程式在不同平台(如Windows、Linux和macOS)上都是高效且具效能表現的。 WebGrease的功能 在.NET Core的框架內,WebGrease提供了若干功能,旨在提高網站應用程式的效率和速度。 主要特點如下: CSS最小化: 消除CSS文件中多餘的格式、註釋和空白。 結合多個CSS文件為一個,減少HTTP請求。 提高效能,加快CSS的載入時間。 JavaScript壓縮: 通過刪除不必要的字符最小化JavaScript文件。 將多個JavaScript文件合併為一個文件。 減少JavaScript文件大小,加快下載和執行時間。 圖片優化: 在不明顯降低品質的情況下壓縮圖片。 在合適時將圖片轉換為更有效的格式。 優化圖片資源以增加載入速度。 HTML最小化: 刪除HTML文件中的空白和註釋。 簡化HTML文件以加快瀏覽器解析和渲染速度。 資源組合: 結合多個JavaScript和CSS文件為一個文件。 減少載入頁面所需的HTTP請求數量,提高載入速度。 配置靈活性: 提供配置優化過程的選項。 允許開發者選擇要優化或排除的目錄和文件。 跨平台相容性: 完全相容於.NET Core,可用於Windows、Linux和macOS。 確保效能改進在各種環境中良好運行。 與建置過程整合: 可整合入建置程序中,以便在部署和開發過程中自動優化資源。 支援自動化過程,以確保在各個開發階段中保持一致的優化。 改進的效能: 最小化必須加載的資源,提高網站應用程式的整體效能。 改善使用者體驗,加快頁面加載速度。 創建和配置WebGrease 要在.NET Core應用程式中使用WebGrease,需安裝必要的套件、配置建置過程並設置優化任務。 以下步驟可幫助您在.NET Core應用程式中設置和配置WebGrease: 創建.NET Core專案 首先,創建一個新的.NET Core網站應用程式。 您可以使用.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 網站資源的效能優化設定以及使用IronPDF進行PDF生成和操作都是將WebGrease類似的優化與IronPDF整合到.NET Core應用程式中的必要步驟。 以下是逐步教您如何開始: 什麼是IronPDF? 功能豐富的.NET程式庫IronPDF允許C#程式生成、閱讀和編輯PDF文件。 通過此程式,開發者可以輕鬆將HTML、CSS和JavaScript資訊轉換為高品質、可打印的PDF文件。 最關鍵的任務包括添加頁眉和頁腳、分割和合併PDF文件、為文件添加浮水印以及將HTML轉換為PDF。 IronPDF對多樣應用程式有幫助,因其支援.NET Framework和.NET Core。 由於PDF文件易於使用且包含豐富內容,開發者可以輕鬆地將它們整合到其產品中。 由於IronPDF可以處理複雜的數據佈局和格式化,它生成的PDF輸出與客戶端最初提供的HTML文本非常接近。 IronPDF 的功能 從HTML生成PDF 將JavaScript、HTML和CSS轉換為PDF。 支援媒體查詢和響應設計,符合現代網頁標準。 對於使用HTML和CSS動態裝飾PDF文件、報告和發票非常有用。 PDF編輯 允許在現有PDF文件中添加文本、圖片和其他內容。 從PDF文件中提取文本和圖片。 將多個PDF合併為一個。 將PDF文件分割為獨立文件。 包括浮水印、註釋、頁眉和頁腳。 PDF轉換 支援將多種文件格式轉換為PDF,包括Word、Excel和圖片文件。 允許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 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程式碼中做的第一件事就是引入所需的名稱空間,這些是用於ASP.NET Core MVC功能的Microsoft.AspNetCore.Mvc和用於PDF生成的IronPDF。 由於PdfController類繼承自Controller,因此它是MVC控制器。 這個類中的GeneratePdf方法被定義來管理PDF的創建。 要將HTML內容轉換為PDF,此功能會創建IronPDF的ChromePdfRenderer實例。 可以使用RenderHtmlAsPdf功能將基本HTML字串轉換為PDF文件。 然後使用BinaryData屬性將此PDF儲存為位元組陣列。 最後,PDF文件會使用application/pdf)。 由於此整合,程式現在可以根據HTML內容動態生成和提供PDF文件。 生成PDF的路由 確保您的Startup.cs文件中包含PDF生成功能路由。 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文件。 開發者可以通過使用IronPDF生成PDF文件和BundlerMinifier優化資源等工具,確保其應用程式高效而靈活。 除了圖片壓縮外,像CSS和JavaScript最小化資源優化策略也有助於加速頁面加載並改善使用者體驗。 同時,IronPDF具備強大的功能來從HTML文本動態生成PDF,簡化創建準備良好的文件(如發票、報告等)的過程。 此整合為.NET Core框架下的現代網頁開發需求提供了完整的解決方案,不僅提高了網站應用程式的性能,還增加了處理PDF文件的有用功能。 使用IronPDF和Iron Software,您可以通過運用OCR、條碼掃描、PDF創建、Excel連接等功能來增強您的.NET開發工具包。 從具有競爭力的價格開始,IronPDF透過結合其核心概念與高度靈活的Iron Software工具箱,為開發者提供更多網頁應用和功能的訪問權,以及更高效的開發。 該專案的良好定義授權選項使開發者易於選擇最佳模式,幫助迅速、系統化和有效地解決各種問題。 常見問題解答 如何在 .NET Core 中優化網頁應用程式性能? 您可以通過整合 WebGrease 提升 .NET Core 中的網頁應用程式性能,該工具提供 JavaScript 壓縮、圖像優化和 CSS 最小化技術。這些技術減少了資源大小並加速了加載時間,從而提高了效率和用戶體驗。 .NET Core 應用中從 HTML 生成 PDF 有何益處? 在 .NET Core 應用中使用 IronPDF 從 HTML 生成 PDF,允許開發者從網頁內容直接創建可列印的文件。這對動態生成報告、發票和其他文件非常理想,並能夠保留原始 HTML 的格式。 我如何在 .NET Core 應用中創建動態 PDF? 您可以使用 IronPDF 在 .NET Core 應用中創建動態 PDF。它允許將 HTML 和 MVC 視圖轉換為高質量 PDF,從而生成保持原始結構和設計的文件。 將 PDF 生成集成到 .NET Core 應用的過程是什麼? 要將 PDF 生成功能集成到 .NET Core 應用中,需要安裝 IronPDF 套件,在您的應用程式中配置必要的設定,並使用 IronPDF 的方法如 RenderHtmlAsPdf 實現 PDF 生成邏輯,以將 HTML 內容轉換為 PDF。 WebGrease 如何提升 .NET Core 應用的性能? WebGrease 通過自動化 CSS 和 JavaScript 最小化、圖像優化和資源綁定等優化過程提升 .NET Core 應用的性能。這些過程減少了資源的大小,從而加快了加載時間並提高了應用效率。 我能在 Linux 或 macOS 上使用 WebGrease 和 IronPDF 嗎? 是的,WebGrease 和 IronPDF 都與 .NET Core 兼容,允許他們的功能在包括 Linux 和 macOS 以及 Windows 的不同操作系統上使用。 使用 IronPDF 在 .NET Core 中有哪些常見的故障排除情況? 使用 IronPDF 在 .NET Core 中常見的故障排除情況包括確保所有依賴項正確安裝、驗證配置設定,以及檢查項目中與其他庫或套件的任何衝突。 IronPDF 的文件生成有哪些關鍵特性? IronPDF 的關鍵特性包括生成、閱讀和編輯 PDF 文件,將 HTML 和各種檔案格式轉換為 PDF,並保留複雜數據佈局,確保在 .NET Core 應用中高質量的文件處理。 IronPDF 如何處理 HTML 內容的 PDF 轉換? IronPDF 通過將 HTML 內容轉換為與原始 HTML 結構近乎一致的高質量 PDF 來處理 HTML 內容。這確保生成的 PDF 保留了來源內容的預期佈局、樣式和格式。 我如何在 .NET Core 應用中優化圖像處理? 要在 .NET Core 應用中優化圖像處理,考慮使用像 ImageSharp 這樣的圖像優化工具,它可以不顯著降低質量的情況下壓縮圖像,並將它們轉換為更高效的格式,從而提升整體應用性能。 Jacob Mellor 立即與工程團隊聊天 首席技術官 Jacob Mellor是Iron Software的首席技術官,也是開創C# PDF技術的前瞻性工程師。作為Iron Software核心代碼庫的原始開發者,他自公司成立以來就塑造了公司的產品架構,並與CEO Cameron Rimington將公司轉型為服務NASA、Tesla以及全球政府機構的50多人公司。Jacob擁有曼徹斯特大學土木工程一級榮譽學士學位(1998年–2001年)。他於1999年在倫敦開立首家軟體公司,並於2005年建立了他的第一個.NET組件,專注於解決Microsoft生態系統中的複雜問題。他的旗艦作品IronPDF和Iron Suite .NET程式庫全球已獲得超過3000萬次NuGet安裝,他的基礎代碼不斷在全球各地驅動開發者工具。擁有25年以上的商業經驗和41年的編碼專業知識,Jacob仍然專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。 相關文章 更新2026年2月20日 銜接 CLI 簡化與 .NET : 使用 Curl DotNet 與 IronPDF for .NET Jacob Mellor 藉由 CurlDotNet 彌補了這方面的不足,CurlDotNet 是為了讓 .NET 生態系統能熟悉 cURL 而建立的函式庫。 閱讀更多 更新2025年12月20日 RandomNumberGenerator C# 使用RandomNumberGenerator C#類可以幫助將您的PDF生成和編輯項目提升至新水準 閱讀更多 更新2025年12月20日 C#字符串等於(它如何對開發者起作用) 當結合使用強大的PDF庫IronPDF時,開關模式匹配可以讓您構建更智能、更清晰的邏輯來進行文檔處理 閱讀更多 DuckDB C#(對開發者如何理解的工作)Azure.Messaging.ServiceBus範例C#...
更新2026年2月20日 銜接 CLI 簡化與 .NET : 使用 Curl DotNet 與 IronPDF for .NET Jacob Mellor 藉由 CurlDotNet 彌補了這方面的不足,CurlDotNet 是為了讓 .NET 生態系統能熟悉 cURL 而建立的函式庫。 閱讀更多