跳過到頁腳內容
.NET HELP

NuGet Packages (PDF, OCR, Barcode, Excel): Updated List

.NET 套件管理器程式庫名為 NuGet。 C# 是開發人員最常用的語言之一,這表明它是一種非常有效率的語言。 還有其他免費的 NuGet 套件可以進一步提高 C# 的生產力。 NuGet 套件是各種 IDE 的功能之一,例如 Visual Studio。

我們可以在不同的環境中使用同一個 NuGet 套件,例如 Web、Windows 和行動裝置等。我們可以透過套件管理器控制台安裝更新版本的 NuGet 套件。 Visual Studio 內建了高效能的 NuGet 擴充功能。 使用 NuGet 套件管理器,您可以在儲存庫中以方便的方式建立和使用套件。 它還有助於我們發佈軟體包。

在 Visual Studio 原始碼控制專案中執行以下命令以新增 NuGet 套件:

dotnet add package --source {source_name} --version {package_version} {package_name}

參數描述

  • source_name:所需的 .NET 程式包來源名稱。
  • package_name: .NET/.NET Core 函式庫的 NuGet 套件名稱。
  • package_version:軟體包版本號。

本文介紹了在使用 C# 開發多個專案時,能夠提高開發人員效率的十大 NuGet 套件:

  • RestSharp
  • Json.NET Iron Software
  • Serilog
  • NUnit
  • Insight.資料庫
  • FluentValidation
  • FluentEmail 宿醉
  • LazyCache

RestSharp

表述狀態轉移(Representational State Transfer)簡稱 REST。 RestSharp 平均每天下載量超過 43,000 次,在 NuGet 上的下載量已超過 1.9 億次。 它是 .NET 專案中使用最廣泛的 HTTP 用戶端程式庫,使 C# 開發人員能夠輕鬆地透過 HTTP 呼叫遠端資源,並處理請求正文的 JSON 或 XML 序列化以及回應中的反序列化。 新版 RestSharp NuGet 套件支援:

  • 同步查詢和非同步查詢。
  • 序列化和反序列化。
  • 支援多種 HTTP 請求類型,包括 GET、POST、PUT 和 DELETE。
  • 不同的身份驗證格式。

Json.NET

Json.NET是一個極簡的 JSON 處理函式庫。 Json.NET 是 .NET 平台上的免費開源軟體包之一,其 NuGet 下載/安裝量超過 10 億次。 其主要特點如下:

  • 將任何 .NET 物件序列化和反序列化為 JSON 以及從 JSON 序列化和反序列化。
  • XML 和 JSON 到 C# 資料模型的轉換。
  • 支援使用物件、JArray 和 JValue 進行 LINQ 查詢。
  • 效能比 JavaScriptSerializer 快 25%,比 DataContractJsonSerializer 快 50%。

Iron Software

對於使用 .NET 和 Entity Framework (EF) Core 處理 PDF、OCR、Excel 和條碼的程式設計師來說, Iron Software創建了一系列包含有用程式碼的公共儲存庫軟體庫。 該軟體下載量超過 550 萬次,可透過 NuGet 套件管理器以不同的套件名稱獲取,如下所述。 本文詳細介紹了Iron Software產品的主要功能。

IronXL

  • 編輯、讀取和載入 XLS、XLSX、CSV 和 TSV 格式的資料。
  • 將資料匯出為 CSV、TSV、JSON、XLS 和 XLSX 格式,以便存檔。
  • 對列、行和範圍進行排序。
  • 樣式功能包括儲存格視覺樣式、字型、大小、邊框、對齊方式、鎖定、凍結儲存格、隱藏/顯示行和數字格式。
  • 簡易的 C# 和 VB.NET Excel 文件 API。

IronBarcode

  • 支援多種條碼類型和二維碼標準,包括 UPC、EAN、Code 39、QR、Data Matrix 等。
  • 對條碼影像進行預處理,以提高讀取準確性和速度。 這包括校正旋轉、噪音、失真和傾斜。 適用於使用多核心系統執行批次處理的伺服器程式。
  • 為各種文件類型建立條碼和二維碼,允許對文字、旋轉、大小、顏色和品質等進行修改,並支援 PDF、JPG、TIFF 等多種格式。

IronOCR

  • 使用 Tesseract 5 引擎從圖像或 PDF 中提取文字、條碼和二維碼。
  • 支援超過 125 種語言,可進行自訂語言配置。
  • 相容於多頁 GIF 和 TIFF 影像格式。
  • 改善掃描影像品質較差的情況。
  • 支援多線程,方便同時執行多個操作。
  • 將結構化資料輸出為頁面、段落、行、單字和字元。

IronPDF

  • 從 HTML、HTML5、ASPX 和 Razor/MVC 視圖產生 PDF 檔案。
  • 具備列印、合併、分割 PDF 檔案、提取和搜尋文字、將頁面柵格化為圖像以及將 PDF 與 HTML 相互轉換的功能。
  • 允許從 URL 建立文檔,並可選擇使用網路登入憑證、代理、cookie、HTTP 標頭等。

更多詳情請參閱Iron軟體產品

絲利洛格

日誌記錄對於應用程式開發至關重要,因為它有助於開發人員尋找和解決問題。 Serilog是 .NET 中一個新的日誌記錄和變更追蹤系統,它以 JSON 格式記錄操作、異常、資訊和警告。 Serilog 提供結構化日誌,透過提供更好的上下文和資料洞察來增強傳統日誌記錄。 它支援將診斷日誌記錄到檔案、控制台和各種儲存系統中。

NUnit

測試對於確保程式碼正確性至關重要。 NUnit是一個用於 .NET 的開源單元測試框架,它透過將大型應用程式分解成更小的可測試單元來簡化測試過程。 它有助於在開發過程中識別錯誤,並以 MIT 許可證分發。

洞察資料庫

Insight.Database是一個適用於 .NET 的微型 ORM,它透過將 C# 物件轉換為資料庫記錄以及將資料庫記錄轉換為 C# 物件來簡化資料庫操作。 它提供了擴展方法,使資料庫處理和模式遷移更加容易。 主要特點包括:

  • 自動開啟和關閉資料庫連線。
  • 簡化儲存程序的執行。
  • 支援多個結果集。

FluentValidation

FluentValidation是一個 .NET 套件,用於使用 lambda 表達式和 Fluent 介面建立強類型驗證規則。 它透過提供驗證邏輯的位置來幫助保持領域程式碼的整潔。 FluentValidation 11 支援各種平台,例如 .NET Standard、.NET Core 以及 .NET 5、6 和 7。

FluentEmail

FluentEmail是一個開源的 .NET 程式庫,旨在讓電子郵件傳送功能能夠輕鬆整合到 .NET 應用程式中。 它支援使用 Razor 建立電子郵件模板,並透過 SendGrid、MailGun、SMTP 等方式發送電子郵件。

宿醉

Hangfire 是一個開源框架,使 .NET 和 .NET Core 應用程式能夠執行後台任務。 它可以管理諸如大量電子郵件通知、圖形處理以及從 XML 和 JSON 等不同格式批次匯入等任務。

LazyCache

LazyCache提供了一種簡單的記憶體快取服務,透過快取 Web 服務呼叫、複雜物件建構和資料庫操作來提高應用程式效能。 其預設設定會將內容快取最多 20 分鐘。

結論

本文討論了提升 C# 程式效率的十大 NuGet 套件。 這些軟體包可以減輕工作量,並加快開發過程。 NuGet 用戶端工具方便建立和使用軟體包,而 Iron Software 為企業和新創公司提供高階解決方案,其程式庫與各種 .NET 框架和語言(如 C#、VB 和 F#)相容。

常見問題解答

NuGet 套件如何提高 C# 專案的生產力?

NuGet 套件透過提供可重複使用的程式碼庫,簡化相依性管理,並精簡跨不同環境 (如 Web、Windows 和 Mobile) 的開發流程,進而提升 C# 專案的生產力。

NuGet 在 .NET 開發中扮演什麼角色?

NuGet 作為 .NET 的套件管理員,有助於軟體套件的建立、散佈和使用。它與 Visual Studio 等 IDE 無縫整合,以提高 C# 開發人員的生產力。

如何使用套件管理員控制台安裝 NuGet 套件?

要使用套件管理員控制台安裝 NuGet 套件,您可以使用 Install-Package {package_name} 指令。這個命令會下載並安裝指定的套件及其相依性。

Iron Software 的函式庫為 PDF 管理提供哪些功能?

Iron Software 的 PDF 管理庫提供的功能包括從 HTML 生成 PDF、合併和分割 PDF、文字提取和搜尋,以及將 PDF 轉換為 HTML 和從 HTML 轉換為 PDF。

IronOCR 如何用於 .NET 應用程式?

IronOCR 可在 .NET 應用程式中使用,從影像或 PDF 中抽取文字、條碼和 QR 代碼。它支援超過 125 種語言,並針對改善掃描不良文件的品質進行最佳化。

在 .NET 應用程式中使用 Serilog 有哪些主要優點?

Serilog 在 .NET 應用程式中提供結構化日誌,可增強日誌的可讀性,並提供更好的資料洞察力。它支援將日誌記錄至各種輸出,包括檔案、控制台和雲端服務。

為什麼 Json.NET 在 .NET 的 JSON 處理上很受歡迎?

Json.NET 因其高效的序列化和反序列化功能,以及處理 JSON 資料的廣泛功能集,在 .NET 中處理 JSON 方面很受歡迎。

Hangfire 如何促進 .NET 的背景工作管理?

Hangfire 可讓應用程式在後台執行電子郵件通知和資料處理等工作,從而改善應用程式的效能和回應能力,有助於 .NET 的背景工作管理。

FluentValidation 在 .NET 應用程式中有什麼意義?

FluentValidation 在 .NET 應用程式中的重要性在於可建立強式類型的驗證規則,藉由集中化驗證邏輯和減少領域模型中的雜亂,有助於維護乾淨的程式碼。

LazyCache 如何改善 .NET 應用程式的效能?

LazyCache 可將複雜的作業和 Web 服務呼叫快取到記憶體中,減少多餘的處理和資料庫呼叫,加快應用程式的回應時間,從而改善 .NET 應用程式的效能。

Jacob Mellor,技術長 @ Team Iron
首席技術長

Jacob Mellor 是 Iron Software 的首席技術長,也是開創 C# PDF 技術的有遠見的工程師。作為 Iron Software 核心程式碼庫背後的原始開發人員,他從公司成立之初就塑造了公司的產品架構,與首席執行官 Cameron Rimington 一起將公司轉型為一家 50 多人的公司,為 NASA、Tesla 和全球政府機構提供服務。

Jacob 持有曼徹斯特大學土木工程一級榮譽工程學士學位 (BEng)(1998-2001 年)。

Jacob 於 1999 年在倫敦開設了他的第一家軟體公司,並於 2005 年創建了他的第一個 .NET 元件,之後,他專門解決微軟生態系統中的複雜問題。

他的旗艦產品 IronPDF & Iron Suite for .NET 函式庫在全球的 NuGet 安裝量已超過 3000 萬次,他的基礎程式碼持續為全球使用的開發人員工具提供動力。Jacob 擁有 25 年的商業經驗和 41 年的編碼專業知識,他一直專注於推動企業級 C#、Java 和 Python PDF 技術的創新,同時指導下一代的技術領導者。