在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
PDF,或可攜式文件格式,是由 Adobe 開發的一種文件格式,用於方便文檔交換。它確保文件在任何設備上看起來都相同,保留了格式、字體和圖片。PDF 是安全、互動和緊湊的,使其在共享時能保持內容完整,非常適合傳輸。
C# PDF 庫對於處理 PDF 的開發者來說至關重要。這些工具有助於創建、修改和提取 PDF 中的內容。它們支持表單處理、數字簽名等功能,並且在不同平台上工作,提高 PDF 處理效率。使用 C# PDF 庫,開發者可以在他們的應用程序中添加 PDF 功能,令創建、編輯和管理 PDF 文檔編程化變得更加容易。
在本文中,我們將比較兩種處理 PDF 文件的不同方法: IronPDF C# 函式庫 和該 Craftmypdf API我們將會探討它們的功能及特性,提供程式碼範例,並討論它們的許可證。
CraftMyPDF 是一個設計用來創建 PDF 文件的多功能 API。它提供了一個基於網頁的拖放編輯器,允許您直接在瀏覽器中設計 PDF 範本。此功能特別適合從可重用的範本和 JSON 數據創建像素完美的 PDF。編輯器包含豐富的佈局組件,支持強大的表達式、高級格式和數據綁定,使其成為滿足各種 PDF 生成需求的強大工具。
拖放編輯器: CraftMyPDF 的直觀拖放編輯器簡化了 PDF 模板的創建。用戶無需任何程式語言知識就可以設計模板,使其對所有技能水平的用戶都能輕鬆上手。這個編輯器允許您添加多種元素,例如文本、圖片和形狀,並自訂其佈局和外觀。
模板重用性: 該平台支持可重用的模板,這可以節省大量時間。一旦設計好一個模板,它可以使用不同的數據集反復使用,非常適合生成例如發票、報告和證書等文件。您可以使用 PDF 模板編輯器進行編輯。
JSON 數據集成: CraftMyPDF 允許與 JSON 數據無縫集成。這意味著您可以向模板中餵入動態數據以生成自訂 PDF 文件。這個功能對於需要生成帶有可變內容的文件的應用特別有用,例如個性化發票或詳細報告。
高級格式化和表達式: 該 API 支持高級格式設置選項和表達式,從而使您可以創建複雜的文件。您可以根據您的規範格式化日期、數字和貨幣,並使用表達式根據您的數據動態生成內容。
API 集成: CraftMyPDF 可以通過其 REST API 與各種平台集成。它支持與無需代碼平臺如 Zapier 的集成。 Make.com, 以及自訂應用程式。這種靈活性允許開發者將 PDF 生成功能納入他們的工作流程中,自動化文件創建過程。
可填寫元件: 該平台還支持可填寫的 PDF 元件,例如文本框、複選框和下拉列表。這一功能對於創建用戶可以電子完成的互動表單至關重要。
IronPDF 是一個為.NET開發人員設計的強大且多功能的PDF庫,提供豐富的生成、編輯和管理PDF文件的功能。IronPDF以C#編寫,使開發人員能夠從HTML、CSS、JavaScript和圖像格式生成像素完美的PDF文件,簡化了處理PDF的過程。與.NET的集成使其成為任何需要PDF功能的應用程序的強大工具,從簡單的文件生成到複雜的文件操作。
HTML轉PDF IronPDF在HTML轉PDF方面表現出色 將 HTML、CSS 和 JavaScript 直接轉換為 PDF 文件. 這包括對HTML5和CSS3的支持,確保生成的PDF中的網頁內容顯示為預期效果。轉換過程保持像素級精確,非常適合網頁到打印應用。
URL 轉 PDF 您可以 從任何 URL 生成 PDF, 允許將網頁輕鬆保存為 PDF 文件。此功能對於存檔網頁內容或從在線數據生成報告非常有用。
Image to PDF IronPDF 支持將各種圖像格式(包括 JPG、PNG、GIF、BMP 和 SVG)轉換為 PDF 文檔。此功能在創建相冊、圖像庫或將視覺內容集成到您的 PDF 中非常方便。
Form Filling and Data Extraction 該庫允許創建和 以程式方式填寫 PDF 表單此外,您還可以從現有表單中提取數據,實現與其他系統的無縫數據處理和集成。
數字簽名和安全性 IronPDF 提供強大的安全功能,包括添加 數位簽章設置密碼並定義用戶權限。這確保您的 PDF 文件安全並符合行業標準。
PDF 編輯 您可以通過新增、複製或刪除頁面來編輯現有的 PDF 文件。您可以通過導入現有的 PDF 文件來進行操作。IronPDF 還允許合併和拆分 PDF,使其成為文件管理的全面工具。
註解和附件 IronPDF 支持 新增註解 例如便利貼和在 PDF 文件中嵌入附件。此功能對於協作文件審查和添加補充信息非常有用。
頁首、頁尾和水印 該庫允許在您的 PDF 文檔中添加自定義頁首、頁尾和水印。這些元素可以從 HTML 生成,提供設計和內容管理的靈活性。
跨平台兼容性 IronPDF 在各種平台之間無縫工作,包括 Windows、macOS、Linux、Docker、Azure 和 AWS。它支持 .NET Core、.NET Standard 和 .NET Framework,確保廣泛的兼容性和在多種環境中的輕鬆部署。
性能優化 IronPDF 提供完整的多線程和異步支持,優化批量處理和高量 PDF 生成任務的性能。這確保了資源的高效使用和更快的文檔處理速度。
完整的文檔和支持 IronPDF 附帶豐富的文檔、教程和示例,使開發人員能夠輕鬆入門。該庫還提供 24/5 技術支持,幫助用戶及時解決問題。
IronPDF 設計用於提高生產力並簡化 .NET 應用程序中的 PDF 管理。其豐富的功能集,加上易用性和全面的支持,使其成為開發人員寶貴的工具。
在 Visual Studio 中創建 C# 控制台應用程式需要幾個步驟。以下是詳細的指南,幫助您設置和開始您的專案。
首先,確保已在您的電腦上安裝 Visual Studio。您可以在開始功能表中搜索 Visual Studio,或單擊桌面圖示來開啟它。
Visual Studio 開啟後,按照以下步驟來建立新專案:
在開始頁面上點擊 「建立新專案」。
從搜尋結果或清單中,選擇 "Console App" (.NET Core)"或"控制台應用程序 (.NET框架)**,取決於您的偏好或專案需求。
選擇主控台應用程式範本後,您需要配置您的新專案:
專案名稱: 輸入您的專案名稱。這將是儲存您的專案文件的資料夾名稱。
位置: 選擇您想儲存專案的資料夾。
方案名稱: 這通常與專案名稱相同,但如果您計劃在一個方案中包含多個專案,您可以更改它。
要開始使用 IronPDF,有三種主要的安裝方法:使用 NuGet 套件管理器、NuGet 套件管理器控制台以及從 NuGet 網站下載。
首先,讓我們談談 NuGet 套件管理器。如果您使用的是 Visual Studio,這個方法簡單且使用者友好。打開您的專案,然後在 Solution Explorer 中右鍵點擊 "References" 或 "Dependencies" 節點。從上下文菜單中選擇 "Manage NuGet Packages"。
在 NuGet 套件管理器中,確保選中 "Browse" 標籤,然後在搜索框中輸入 "IronPDF"。找到 IronPDF 套件後,點擊 "Install"。此操作將把 IronPDF 庫添加到您的專案中並配置以便使用。
接下來,NuGet 套件管理器主控台提供了另一種方便的方法來安裝 IronPDF。要使用此方法,請在 Visual Studio 的“工具”選單中,選擇“NuGet 套件管理器”,然後選擇“套件管理器主控台”。在主控台視窗中輸入以下命令:
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
然後按下 Enter。這個命令將會直接下載並安裝 IronPDF 套件到你的專案中。這種方法適合喜歡在 Visual Studio 環境中使用命令行工具的人。
最後,您可以直接從NuGet網站下載IronPDF套件。 NuGet網站這種方法對於需要手動管理軟體包版本或在直接軟體包管理受限的環境中工作的人特別有用。請前往 NuGet 網站並搜尋 "IronPDF"。下載該軟體包文件 (通常是 .nupkg 文件)一旦下載完成,請在 Visual Studio 中打開您的專案,右鍵點擊「References」或「Dependencies」,選擇「Manage NuGet Packages」。點擊「Settings」圖示,然後選擇「Add」來指定您下載的套件的路徑。添加套件來源後,返回「Browse」標籤,選擇您的新來源,並從那裡安裝 IronPDF。
要在您的 C# 程式中使用 CraftMyPDF,首先需要創建帳戶、選擇 API 的免費方案,然後將其整合到您的應用程式中。以下是如何開始:
註冊 訪問 CraftMyPDF網站 並註冊一個免費帳戶。輸入所需信息以創建您的帳戶。
確保你具有 System.Net.Http、RestSharp 以及 Newtonsoft JSON 命名空間,因為它們對於向 CraftMyPDF API 發送 HTTP 請求是必不可少的。
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using RestSharp;
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using RestSharp;
IRON VB CONVERTER ERROR developers@ironsoftware.com
之後,我們將調用 CraftmyPdf API 的 API 呼叫。
var client = new RestClient("https://api.craftmypdf.com/v1/create");
var request = new RestRequest("https://api.craftmypdf.com/v1/create",Method.Post);
string apiKey = "API Key"; // Replace with your actual API key
string templateId = "Template ID"; // Replace with your actual template ID
request.AddHeader("X-API-KEY", apiKey);
request.AddHeader("Content-Type", "application/json");
var client = new RestClient("https://api.craftmypdf.com/v1/create");
var request = new RestRequest("https://api.craftmypdf.com/v1/create",Method.Post);
string apiKey = "API Key"; // Replace with your actual API key
string templateId = "Template ID"; // Replace with your actual template ID
request.AddHeader("X-API-KEY", apiKey);
request.AddHeader("Content-Type", "application/json");
IRON VB CONVERTER ERROR developers@ironsoftware.com
程式化地建立PDF可以讓您自動生成報告、發票和證書等文件。IronPDF提供了多種在C#中建立PDF的方法,包括將HTML字符串、URL和HTML文件轉換為PDF文件。我們將在後面的章節中更詳細地討論這些方法。
將 HTML 轉換為 PDF 是最常見的使用案例之一。它允許您使用 HTML 和 CSS 設計您的文檔,然後將其轉換為 PDF。這種方法具有高度的靈活性,因為它支持現代的網頁標準,並確保生成的 PDF 看起來完全符合設計。以下是使用 IronPDF 將 HTML 字串轉換為 PDF 文檔的基本示例:
using IronPdf;
public class PDFCreator
{
public void CreatePdfFromHtml()
var renderer = new ChromePdfRenderer();
// Define your HTML string
string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a sample PDF document created from an HTML string.</p>";
// Render the HTML as a PDF document
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF document
pdfDocument.SaveAs("html_output.pdf");
}
}
using IronPdf;
public class PDFCreator
{
public void CreatePdfFromHtml()
var renderer = new ChromePdfRenderer();
// Define your HTML string
string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a sample PDF document created from an HTML string.</p>";
// Render the HTML as a PDF document
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF document
pdfDocument.SaveAs("html_output.pdf");
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
在此範例中,ChromePdfRenderer 將提供的 HTML 字串轉換為 PDF。轉換後的 PDF 會儲存到文件系統中。
IronPDF 的另一個強大功能是其從 URL 直接將網頁轉換為 PDF 文件的能力。這對於存檔網頁或從動態網頁內容生成 PDF 特別有用。以下是一個將 URL 轉換為 PDF 文件的示例:
using IronPdf;
public class PDFCreator
{
public void CreatePdfFromUrl(string url)
{
// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Render the URL as a PDF document
var pdfDocument = renderer.RenderUrlAsPdf(url);
// Save the PDF document
pdfDocument.SaveAs("url_output.pdf");
}
}
using IronPdf;
public class PDFCreator
{
public void CreatePdfFromUrl(string url)
{
// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Render the URL as a PDF document
var pdfDocument = renderer.RenderUrlAsPdf(url);
// Save the PDF document
pdfDocument.SaveAs("url_output.pdf");
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
此方法以URL作為輸入,將網頁渲染成PDF,並保存生成的文檔。它處理所有的網頁內容,包括HTML、CSS、JavaScript和圖像,確保PDF準確反映原始網頁。
將 HTML 檔案轉換成 PDF 與將 HTML 字串或 URL 轉換成 PDF 是類似的。此方法允許您使用本地 HTML 檔案,方便從已存在的網頁或存儲在文件系統中的模板生成 PDF。以下是將 HTML 檔案轉換成 PDF 的方法:
using IronPdf;
public class PDFCreator
{
public void CreatePdfFromHtmlFile(string filePath)
{
// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Render the HTML file as a PDF document
var pdfDocument = renderer.RenderHtmlFileAsPdf(filePath);
// Save the PDF document
pdfDocument.SaveAs("html_file_output.pdf");
}
}
using IronPdf;
public class PDFCreator
{
public void CreatePdfFromHtmlFile(string filePath)
{
// Initialize the ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Render the HTML file as a PDF document
var pdfDocument = renderer.RenderHtmlFileAsPdf(filePath);
// Save the PDF document
pdfDocument.SaveAs("html_file_output.pdf");
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
在此範例中,RenderHtmlFileAsPdf 方法用於將指定文件路徑的HTML文件內容轉換為PDF文件。然後保存生成的PDF。
通過運用這些方法,您可以利用 IronPDF 從各種HTML內容來源創建PDF,為您的 C# 應用程式提供靈活且強大的文件生成解決方案。這些方法確保您可以輕鬆整合PDF創建功能,無論您是處理動態網頁內容、本地HTML文件,還是直接定義的HTML字符串。
CraftMyPDF 提供了靈活的 API,用於從模板生成 PDF。要使用此 API 創建 PDF,您必須首先在 CraftMyPDF 儀表板中創建一個模板。一旦模板準備就緒,您可以發送包含必要數據的請求給 API 來生成 PDF。以下是實現此目標的步驟。
登錄 CraftMyPDF 儀表板 登錄您的 CraftMyPDF 帳戶,並導航至儀表板。
創建新模板 點擊“創建模板”按鈕。使用拖放編輯器來設計您的 PDF 模板。您可以根據需求添加文本、圖片、表格和其他元素。
在創建模板後,您可以使用以下 C# 代碼通過向 CraftMyPDF API 發送請求來生成 PDF。
using System;
using System.Net;
using System.Threading.Tasks;
using RestSharp;
class Program
{
static async Task Main(string[] args)
{
var client = new RestClient("https://api.craftmypdf.com/v1/create");
var request = new RestRequest(Method.Post);
string apiKey = "API-Key"; // Replace with your actual API key
string templateId = "Template-ID"; // Replace with your actual template ID
request.AddHeader("X-API-KEY", apiKey);
request.AddHeader("Content-Type", "application/json");
var body = new
{
data = new
{
invoice_number = "INV48321",
date = "2024-05-27",
due_date = "2024-06-27",
currency = "EUR",
discount = 10,
tax = 5,
company_name = "Tech Innovations Ltd",
email = "contact@techinnovations.com",
client = "Future Solutions GmbH",
client_address = "1234 Innovation Drive",
client_address2 = "Berlin",
client_address3 = "10115",
items = new[]
{
new { description = "Cloud Hosting Services", quantity = 12, unit_price = 75, total = 900 },
new { description = "Custom Web Application", quantity = 3, unit_price = 150, total = 450 },
new { description = "Technical Support", quantity = 15, unit_price = 30, total = 450 },
new { description = "Digital Marketing Campaign", quantity = 2, unit_price = 500, total = 1000 },
new { description = "SEO Optimization", quantity = 5, unit_price = 120, total = 600 }
},
gross_total = 3400
},
load_data_from = (string)null,
template_id = templateId,
version = 8,
export_type = "json",
expiration = 60,
output_file = "output.pdf",
is_cmyk = false,
image_resample_res = 600,
direct_download = 0,
cloud_storage = 1
};
request.AddJsonBody(body);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
if (response.IsSuccessful)
{
var content = response.Content;
dynamic result = Newtonsoft.Json.JsonConvert.DeserializeObject(content);
string fileUrl = result.file;
string localPath = "f:\\downloaded_output.pdf";
using (WebClient webClient = new WebClient())
{
webClient.DownloadFile(fileUrl, localPath);
}
Console.WriteLine($"PDF downloaded successfully to {localPath}");
}
else
{
Console.WriteLine($"Error: {response.Content}");
}
}
}
using System;
using System.Net;
using System.Threading.Tasks;
using RestSharp;
class Program
{
static async Task Main(string[] args)
{
var client = new RestClient("https://api.craftmypdf.com/v1/create");
var request = new RestRequest(Method.Post);
string apiKey = "API-Key"; // Replace with your actual API key
string templateId = "Template-ID"; // Replace with your actual template ID
request.AddHeader("X-API-KEY", apiKey);
request.AddHeader("Content-Type", "application/json");
var body = new
{
data = new
{
invoice_number = "INV48321",
date = "2024-05-27",
due_date = "2024-06-27",
currency = "EUR",
discount = 10,
tax = 5,
company_name = "Tech Innovations Ltd",
email = "contact@techinnovations.com",
client = "Future Solutions GmbH",
client_address = "1234 Innovation Drive",
client_address2 = "Berlin",
client_address3 = "10115",
items = new[]
{
new { description = "Cloud Hosting Services", quantity = 12, unit_price = 75, total = 900 },
new { description = "Custom Web Application", quantity = 3, unit_price = 150, total = 450 },
new { description = "Technical Support", quantity = 15, unit_price = 30, total = 450 },
new { description = "Digital Marketing Campaign", quantity = 2, unit_price = 500, total = 1000 },
new { description = "SEO Optimization", quantity = 5, unit_price = 120, total = 600 }
},
gross_total = 3400
},
load_data_from = (string)null,
template_id = templateId,
version = 8,
export_type = "json",
expiration = 60,
output_file = "output.pdf",
is_cmyk = false,
image_resample_res = 600,
direct_download = 0,
cloud_storage = 1
};
request.AddJsonBody(body);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
if (response.IsSuccessful)
{
var content = response.Content;
dynamic result = Newtonsoft.Json.JsonConvert.DeserializeObject(content);
string fileUrl = result.file;
string localPath = "f:\\downloaded_output.pdf";
using (WebClient webClient = new WebClient())
{
webClient.DownloadFile(fileUrl, localPath);
}
Console.WriteLine($"PDF downloaded successfully to {localPath}");
}
else
{
Console.WriteLine($"Error: {response.Content}");
}
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
這是由 PDF生成API CraftMyPdf 所生成的PDF文件:
設置 RestClient 和 RestRequest 使用 CraftMyPDF API URL 實例化一個 RestClient,並建立一個 RestRequest 用於生成 PDF 的 POST 方法。
添加 Headers 將 API 金鑰加入請求標頭進行身份驗證。內容類型設置為 application/json。
準備請求主體 請求主體建立為 JSON 物件。包含填充模板欄位所需的數據、模板 ID 以及各種選項如導出類型和過期時間。
發送請求 使用 ExecuteAsync 非同步發送請求,並基於請求主體生成 PDF 文件。
IronPDF 提供多種授權選項,以滿足不同用戶的需求。主要授權包括 Lite、Professional 和 Enterprise 版本。Lite 授權的價格為 $749,適合單個開發人員工作於一個項目。Professional 授權的價格為 $1,499,支持多個項目和開發人員,而為大團隊和更大範圍部署設計的 Enterprise 授權價格為 $2,999。每個授權都是一次性費用,並包含一年的支援和更新。此外,還有一種 OEM 重新分發授權,允許作為商業產品的一部分分發 IronPDF。IronPDF 也提供 免費試用 僅用於評估目的。
CraftMyPDF採用基於訂閱的授權模式。它提供了多種方案,包括適合小規模和開發用途的免費層級。免費方案允許有限使用API,非常適合測試和小型專案。對於較高的使用需求,有付費方案提供更多的API調用限制和額外功能。這些付費方案旨在隨著業務需求而擴展,提供靈活性和強大的支持。用戶需要通過CraftMyPDF網站訂閱這些方案,並可以通過用戶儀表板管理其訂閱和API密鑰。
IronPDF 提供 廣泛的文件 提供強大的支持,幫助用戶有效地利用該庫。文檔內容全面,包括詳細指南、範例和快速入門部分,幫助新用戶快速上手。主要部分涵蓋基本用法、高級配置和故障排除。此外,IronPDF 通過多種渠道提供支持,包括廣泛的知識庫、電子郵件支持以及針對更複雜問題的工程支持請求。支持團隊每週五天24小時提供服務,提供快速的幫助來解決用戶查詢和問題。
CraftMyPDF 也為用戶提供全面的文件和支持。API 文件提供了有關所有可用端點、參數和示例請求的詳細信息,確保開發人員可以順利整合 API。文檔包括創建模板、發送 API 請求和處理回應的指南。CraftMyPDF 通過電子郵件提供客戶支持,並且提供一個社區論壇,供用戶提出問題和交流見解。文檔設計為用戶友好,確保各個技術水平的開發人員都能有效地使用 API 生成 PDF。
在這篇文章中,我們探索了兩個強大的 PDF 生成工具:IronPDF 和 CraftMyPDF 的功能、授權以及文件。兩個工具都提供了強大的創建和管理 PDF 文件的能力,但 IronPDF 在幾個方面具有顯著的優勢。
IronPDF 提供了一套全面的功能,以滿足廣泛的 PDF 生成需求,包括將 HTML 字串、URL 和 HTML 文件輕鬆轉換為 PDF。其與 .NET 環境的無縫集成以及處理複雜文件結構的能力,使其成為一個高度多功能的工具。此外,IronPDF 支持添加頁眉和頁腳、數位簽名以及處理 PDF 表單等高級選項,確保能夠滿足各種應用的需求。
IronPDF 的一個顯著優勢是其授權結構。它提供了 免費試用,允許用戶在購買前評估軟體。許可證起價為 $749,美金,使其對於個人開發人員和小型團隊來說都很實惠。此外,IronPDF 提供了極具價值的方案,通過提供 Iron Suite,該套件包括九個產品,僅以兩個產品的價格,成為滿足綜合性 PDF 和文件管理需求的低成本選擇。
總之,儘管 IronPDF 和 CraftMyPDF 都是優秀的 PDF 生成工具,但 IronPDF 提供了更廣泛的功能集、強大的支持以及更有利的許可模式。它能處理複雜的文件需求,加上具有成本效益的 Iron Suite 套件,使其在 CraftMyPDF 之上占據優勢。無論你是個人開發者還是大型團隊的一部分,IronPDF 都能為你所有的 PDF 生成需求提供可靠且強大的解決方案。