在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
使用程式語言操作 PDF 對於開發人員來說相當困難,特別是在 .NET 平台上。在本文中,我們將討論如何使用幾種工具在 C#.NET 中管理 PDF,這些工具將幫助您節省大量的生產時間和精力。顯示來自 PDF 文件的內容時需要考慮幾個因素,而將其他格式的內容轉換為 PDF 時更是如此。我們將討論的工具是開發人員和財富 500 強公司或組織在業界中使用的頂尖產品。可以立即解決您 PDF 問題的 .NET 工具有:
IronPDF 是在 .NET 和 .NET core 開發中轉換 HTML 網站的理想解決方案。它的不僅僅是轉換 HTML,還提供各種額外功能。IronPDF 允許開發者在 .NET Core 和框架項目中創建、修改和提取 PDF 文檔。使用 IronPDF 包,開發者可以輕鬆地從 HTML 頁面生成或轉換 PDF。
IronPDF 是一個 .NET 庫,允許你只需幾行代碼就能快速創建、閱讀和操作 PDF 文件。你可以從現有 PDF 文檔存儲中導入、移動和索引內容到你的內容管理和性能應用程序中。
用戶現在可以從PDF生成圖像,以及從照片生成PDF。包括圖像提取、支持各種圖像擴展名和PDF打印功能。
IronPDF 也可以使用 128 位元加密來加密 PDF 檔案、設定密碼保護 PDF 以及數位簽署 PDF。
此功能允許您從各種來源創建 PDF,包括 HTML、Web 表單、HTML 字串、MVC 視圖和 URL。
這款IronPDF工具允許你以多種方式格式化PDF,包括添加水印、添加頁面、刪除頁面、更改背景和前景等等。簡而言之,IronPDF可以實現你能想像到的所有PDF操作。
可以輕鬆地提取PDF中的嵌入文字。然而,如果這並不奏效,很可能是因為文字被「困在」圖片中。若要掃描文件中的圖像文字而不是純文字,請使用IronOCR庫。
當創建 PDF 或添加到現有 PDF 時,可以包含頁首和頁尾。您可以使用列印選項屬性為每個文檔頁面創建頁首和頁尾。這些參數可在 Chrome PDF 渲染器對象上使用。本示例在 .NET Core 控制台應用程序中運行。
IronPDF 支持幾乎所有與 C# 兼容的操作系統和框架,例如:
PSPDFKit Library for .NET 是一個軟體開發套件 (SDK) 用於編輯、填寫表單、編輯和生成PDF。它提供了一個強大的API,可以快速將PDF功能添加到任何.NET應用中。
PSPDFKit 是最受歡迎的跨平台工具之一,能夠為您的應用或網站增加PDF兼容性。生產環境使用需要PSPDFKit SDK 的商業許可證。PSPDFKit API的主要優勢之一是它允許您在PDF生產工作流程中集成各種文檔操作方法,如:
PSPDFKit 支援所有最受歡迎的註解工具:
PSPDFKit .NET 库支持读取和写入XFDF文件。Document 类的 ImportXfdf 和 ExportXfdf 方法可以用来执行这些任务。
PSPDFKit .NET Library 使將 PDF 轉換為圖像變得簡單。為了保證兼容性和效率,PSPDFKit 使用原生的 .NET 標準功能。
您可以使用文檔編輯器將多個文檔合併為單一的統一文檔。
按照GDPR和其他隱私規則,通過永久刪除PDF文件中的個人信息,來移除敏感、機密或特權信息。
註釋和書籤會使用即時 JSON 存儲在一個單獨的 JSON 文件中。這意味著僅需傳輸一次 PDF 文件,任何修改都會作為原始 PDF 的疊加層被添加。
在本文中,我們將使用一個新的控制台應用程式來生成 PDF 文件。
打開 Visual Studio 軟體並進入文件菜單。選擇“新建項目”,然後選擇控制台應用程式。
在相應的文字框中輸入項目名稱並選擇路徑。然後,點擊創建按鈕。選擇所需的 .NET 框架,如下圖所示:
Visual Studio 專案將會為選定的應用程式生成結構。
在下一節中,我們將添加 IronPDF 和 PSPDFKit 庫到項目中。
你可以透過四種不同的方法下載並安裝 IronPDF 庫。這些方法是:
Visual Studio 軟體提供 NuGet 套件管理器選項,可以將套件直接安裝到解決方案中。以下螢幕截圖顯示了如何打開 NuGet 套件管理器。
一旦套件管理器用戶介面打開,在「瀏覽」區段搜尋關鍵字 "IronPDF",如下面的截圖所示:
我們需要在搜索結果中選擇IronPDF選項並安裝該套件。
Install-Package IronPdf
現在將在當前項目中安裝 IronPDF 套件。
第三種方式是直接從網頁下載 NuGet 套件。
點擊 連結 從網頁直接下載最新的套件。下載後,請按照以下步驟將套件新增到專案中。
有四種方式可以獲取和安裝PSPDFKit庫。如下所示:
開發人員可以使用 NuGet 套件管理員輕鬆整合 PSPDFKit。以下是示例。
在工具欄中點擊NuGet包管理器後,將彈出一個帶有搜索欄的新窗口。搜索PSPDFKit。將會出現一個列表。
在上圖中,我們可以看到搜索結果中的相關套件列表。接下來,選擇所需的PSPDFKit選項並安裝該套件。
Install-Package PSPDFKit.NET -Version 1.4.1
該套件將安裝在當前專案中。
第三種方法是直接從網頁下載 NuGet package。
除了本地下載套件 NuGet您可以使用配置文件在特定位置引用該套件。在多台機器共享網絡資源的情況下,這非常有用。
nuget.config
檔案。<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="PSPDFKitSource" value="path\to\directoryContainingNupkg" />
</packageSources>
</configuration>
可能需要將一些必要的文檔附加到PDF文件中。在這個主題中,我們將討論如何使用.NET平台合併兩個或多個PDF。
IronPDF 的 IronPdf.PdfDocument.Merge
類使得在 C#.NET 中使用簡單易懂的代碼輕鬆合併兩個或更多的 PDF 文件。
using IronPdf;
var html_a = @"<p> [PDF_A] </p>
<p> [PDF_A] 1st Page </p>
<div style = 'page-break-after: always;' ></div>
<p> [PDF_A] 2nd Page</p>";
var Renderer = new IronPdf.ChromePdfRenderer();
using var pdfdoc_a = Renderer.RenderHtmlAsPdf(html_a);
using var pdfdoc_b = Renderer.RenderHtmlAsPdf(html_b);
using var merged = IronPdf.PdfDocument.Merge(pdfdoc_a, pdfdoc_b);
merged.SaveAs("Merged.pdf");
using IronPdf;
var html_a = @"<p> [PDF_A] </p>
<p> [PDF_A] 1st Page </p>
<div style = 'page-break-after: always;' ></div>
<p> [PDF_A] 2nd Page</p>";
var Renderer = new IronPdf.ChromePdfRenderer();
using var pdfdoc_a = Renderer.RenderHtmlAsPdf(html_a);
using var pdfdoc_b = Renderer.RenderHtmlAsPdf(html_b);
using var merged = IronPdf.PdfDocument.Merge(pdfdoc_a, pdfdoc_b);
merged.SaveAs("Merged.pdf");
Imports IronPdf
Private html_a = "<p> [PDF_A] </p>
<p> [PDF_A] 1st Page </p>
<div style = 'page-break-after: always;' ></div>
<p> [PDF_A] 2nd Page</p>"
Private Renderer = New IronPdf.ChromePdfRenderer()
Private pdfdoc_a = Renderer.RenderHtmlAsPdf(html_a)
Private pdfdoc_b = Renderer.RenderHtmlAsPdf(html_b)
Private merged = IronPdf.PdfDocument.Merge(pdfdoc_a, pdfdoc_b)
merged.SaveAs("Merged.pdf")
以下代碼展示了如何使用PSPDFKit Document Editor來合併兩個或更多的PDF。
using PSPDFKit;
using PSPDFKit.Providers;
namespace PdfEditing
{
public sealed class Program
{
public static void Main(string [] args)
{
var documentEditor = new DocumentEditor();
documentEditor.ImportDocument(0, DocumentEditor.IndexPosition.BeforeIndex, new FileDataProvider("Assets/dog.pdf"));
documentEditor.ImportDocument(0, DocumentEditor.IndexPosition.BeforeIndex, new FileDataProvider("Assets/cat.pdf"));
documentEditor.SaveDocument(new FileDataProvider("dogCatPair.pdf"));
}
}
}
using PSPDFKit;
using PSPDFKit.Providers;
namespace PdfEditing
{
public sealed class Program
{
public static void Main(string [] args)
{
var documentEditor = new DocumentEditor();
documentEditor.ImportDocument(0, DocumentEditor.IndexPosition.BeforeIndex, new FileDataProvider("Assets/dog.pdf"));
documentEditor.ImportDocument(0, DocumentEditor.IndexPosition.BeforeIndex, new FileDataProvider("Assets/cat.pdf"));
documentEditor.SaveDocument(new FileDataProvider("dogCatPair.pdf"));
}
}
}
Imports PSPDFKit
Imports PSPDFKit.Providers
Namespace PdfEditing
Public NotInheritable Class Program
Public Shared Sub Main(ByVal args() As String)
Dim documentEditor As New DocumentEditor()
documentEditor.ImportDocument(0, DocumentEditor.IndexPosition.BeforeIndex, New FileDataProvider("Assets/dog.pdf"))
documentEditor.ImportDocument(0, DocumentEditor.IndexPosition.BeforeIndex, New FileDataProvider("Assets/cat.pdf"))
documentEditor.SaveDocument(New FileDataProvider("dogCatPair.pdf"))
End Sub
End Class
End Namespace
註解是添加到文本中的評論或說明,用於解釋或批評特定區域。在這一節中,我們將討論如何使用 .NET 在 PDF 中添加註解。
PDF 註釋允許您在 PDF 文件中添加 “便條紙” 風格的評論。使用 IronPdf.PdfDocument.AddTextAnnotation
方法和 PdfDocument.TextAnnotation
類,可以以程式方式添加註釋。顏色、大小、不透明度、圖標和編輯是提供的進階文本註釋選項之一。
// PM> Install-Package IronPdf
using IronPdf;
using PdfDocument Pdf = PdfDocument.FromFile("existing.pdf");
var Annotation = new IronPdf.Annotations.TextAnnotation()
{
Title = "This is the major title",
Subject = "This is a subtitle",
Contents = "This is the long 'sticky note' comment content...",
Icon = IronPdf.Annotations.TextAnnotation.AnnotationIcon.Help,
Opacity = 0.9,
Printable = false,
Hidden = false,
OpenByDefault = true,
ReadOnly = false,
Rotateable = true
};
Pdf.AddTextAnnotation(Annotation, 1, 150, 250);
Pdf.SaveAs("existing.pdf");
// PM> Install-Package IronPdf
using IronPdf;
using PdfDocument Pdf = PdfDocument.FromFile("existing.pdf");
var Annotation = new IronPdf.Annotations.TextAnnotation()
{
Title = "This is the major title",
Subject = "This is a subtitle",
Contents = "This is the long 'sticky note' comment content...",
Icon = IronPdf.Annotations.TextAnnotation.AnnotationIcon.Help,
Opacity = 0.9,
Printable = false,
Hidden = false,
OpenByDefault = true,
ReadOnly = false,
Rotateable = true
};
Pdf.AddTextAnnotation(Annotation, 1, 150, 250);
Pdf.SaveAs("existing.pdf");
' PM> Install-Package IronPdf
Imports IronPdf
Private PdfDocument As using
Private Annotation = New IronPdf.Annotations.TextAnnotation() With {
.Title = "This is the major title",
.Subject = "This is a subtitle",
.Contents = "This is the long 'sticky note' comment content...",
.Icon = IronPdf.Annotations.TextAnnotation.AnnotationIcon.Help,
.Opacity = 0.9,
.Printable = False,
.Hidden = False,
.OpenByDefault = True,
.ReadOnly = False,
.Rotateable = True
}
Pdf.AddTextAnnotation(Annotation, 1, 150, 250)
Pdf.SaveAs("existing.pdf")
為了描述PDF註釋,PSPDFKit for .NET 提供了一個基於JSON的API。這給了您在處理註釋時很大的自由度,因為您可能在代碼中有手寫的註釋,或者在需要時導入JSON文件。
using Newtonsoft.Json.Linq;
using PSPDFKit;
using PSPDFKit.Providers;
namespace Annotations
{
public sealed class Program
{
public static void Main(string [] args)
{
var Provider = new FileDataProvider("document.pdf");
var documentpdf = new Document(Provider);
var aProvider = document.GetAnnotationProvider();
var textAnJson = new JObject
{
{ "text", "Hello from PSPDFKit" },
{ "bbox", new JArray(10, 10, 400, 400) },
{ "creatorName", "Will" },
{ "type", "pspdfkit/text" },
{ "updatedAt", "2021-01-01T00:00:00Z" },
{ "v", 1 }
};
annotationProvider.AddAnnotationJson(textAnJson);
document.Save(new DocumentSaveOptions())
}
}
}
using Newtonsoft.Json.Linq;
using PSPDFKit;
using PSPDFKit.Providers;
namespace Annotations
{
public sealed class Program
{
public static void Main(string [] args)
{
var Provider = new FileDataProvider("document.pdf");
var documentpdf = new Document(Provider);
var aProvider = document.GetAnnotationProvider();
var textAnJson = new JObject
{
{ "text", "Hello from PSPDFKit" },
{ "bbox", new JArray(10, 10, 400, 400) },
{ "creatorName", "Will" },
{ "type", "pspdfkit/text" },
{ "updatedAt", "2021-01-01T00:00:00Z" },
{ "v", 1 }
};
annotationProvider.AddAnnotationJson(textAnJson);
document.Save(new DocumentSaveOptions())
}
}
}
Imports Newtonsoft.Json.Linq
Imports PSPDFKit
Imports PSPDFKit.Providers
Namespace Annotations
Public NotInheritable Class Program
Public Shared Sub Main(ByVal args() As String)
Dim Provider = New FileDataProvider("document.pdf")
Dim documentpdf = New Document(Provider)
Dim aProvider = document.GetAnnotationProvider()
Dim textAnJson = New JObject From {
{ "text", "Hello from PSPDFKit" },
{ "bbox", New JArray(10, 10, 400, 400) },
{ "creatorName", "Will" },
{ "type", "pspdfkit/text" },
{ "updatedAt", "2021-01-01T00:00:00Z" },
{ "v", 1 }
}
annotationProvider.AddAnnotationJson(textAnJson)
document.Save(New DocumentSaveOptions())
End Sub
End Class
End Namespace
IronPDF 提供免費的開發者授權。IronPDF 也提供獨特的定價架構:基本套餐起價為 $749 無其他額外費用。也可以再分發 SaaS 和 OEM 產品。所有授權均包含 30 天退款保證、一年軟體支援和升級、開發/測試/生產有效性以及永久授權。 (一次性購買). 了解更多 關於IronPDF的可用許可和價格結構。
PSPDFKit針對其開發的生產力工作流程提供五種類型的許可。它提供每月最多100份文件的免費許可;如果超過這個數量,您將需要購買以下其中一個套裝:
這個 頁面 詳細說明PSPDFKit的完整價格結構。
IronPDF 不會從遠端伺服器將 HTML 轉換為 PDF。取而代之的是,它在後台啟動一個符合標準的真實瀏覽器實例。 (無需安裝任何額外的軟體). HTML 以矢量格式渲染,適合商業印刷達到最高標準。因此,您將獲得清晰、高質量的 PDF。在網站上,您可以找到關於許可證和價格的相關信息。
PSPDFKit 是一款功能全面的 PDF SDK,支持所有平台,包括 PC、MAC、Android 應用程式和 IOS。它協助轉換、註解、簽名、填寫、轉換和編輯 PDF 文件。PSPDFKit 是整合 PDF 支持到您的應用程式或網站中的最廣泛使用的跨平台解決方案。
IronPDF 和 PSPDFKit 都需要商業許可證才能在生產中使用。IronPDF 提供終身許可,而 PSPDFKit 提供月度和年度套裝。IronPDF 許可證是以開發者為中心的。其定價模型基於使用該產品的開發者人數及其工作地點。PSPDFKit 許可證是以文件為中心的,根據每月處理的 PDF 文件數量而定。就成本而言,使用 PSPDFKit 會產生經常性費用。另一方面,IronPDF 提供無經常性費用的終身許可證。
IronPDF 和 PSPDFKit 都是基於相似技術的行業領先框架,提供相同的基本 PDF 處理功能。使用 IronPDF 撰寫的代碼往往更加簡潔緊湊。而使用 PSPDFKit 撰寫的代碼同樣易於理解,但結構上稍微複雜一些。
Iron Software 提供以兩個價格購買五個工具的優惠。提供的工具有: IronBarcode
請訪問此鏈接以瞭解更多有關 IronSuite