跳過到頁腳內容
使用IRONPDF

如何在UWP應用程序中使用C#構建PDF編輯器

IronPDF提供了一個C# PDF 庫,可透過.NET Standard 2.0 與 UWP 應用程式整合。您可以使用簡單的 API 呼叫建立 PDF、編輯現有文件、合併多個文件以及操作 PDF,同時也支援容器化部署。

在 UWP 應用程式中建立 PDF 編輯器,為 Windows 使用者開啟了專業文件工作流程的大門。 無論您是產生報告、處理 PDF 表單、使用壓縮管理大型文檔,還是使用加密保護 PDF 文件,可靠的 PDF 處理工具都能在各種作業系統上節省大量的開發時間。

IronPDF提供了一個功能齊全的C# PDF 庫,其功能與.NET Standard 2.0 相容,因此 UWP 應用程式可以存取它。 該庫可以處理從創建 PDF 到編輯現有 PDF 文件的一切操作,包括透過簡潔的 API 以程式方式列印和開啟 PDF 文件。 它支援部署到 Azure 和 AWS 環境,因此適用於雲端原生應用程式。

如何在 UWP 中開始使用IronPDF ?

在 UWP 專案中新增 PDF 檢視器和編輯器功能首先要安裝IronPDF NuGet套件。 IronPDF面向.NET Standard 2.0,UWP 應用程式可以透過.NET Standard 2.0 類別庫專案直接引用它。 Microsoft UWP 文件涵蓋了在新增第三方程式庫之前所需的項目設定步驟。 在 Visual Studio 中開啟套件管理器控制台,並執行下方顯示的安裝命令。

// Install via NuGet Package Manager Console:
Install-Package IronPDF
// Install via NuGet Package Manager Console:
Install-Package IronPDF
$vbLabelText   $csharpLabel

軟體包管理器控制台顯示IronPDF NuGet包的安裝進度,正在下載多個相依性。

安裝完成後,只需幾行程式碼即可從 HTML 內容產生 PDF。 下面的範例展示如何將 HTML 發票渲染成 PDF 檔案並將其儲存到磁碟。 這種模式適用於任何 HTML 字串,包括帶有嵌入式 CSS 的全樣式模板。

using IronPdf;

// Create a PDF from HTML content
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #1001</h1><p>Total: $500.00</p>");
// Save to the app's local storage folder
pdf.SaveAs("document.pdf");

// For containerized environments, configure the renderer
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.Installation.TempFolderPath = "/app/temp";
renderer.Installation.ChromeGpuMode = IronPdf.Rendering.ChromeGpuMode.Disabled;
using IronPdf;

// Create a PDF from HTML content
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #1001</h1><p>Total: $500.00</p>");
// Save to the app's local storage folder
pdf.SaveAs("document.pdf");

// For containerized environments, configure the renderer
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.Installation.TempFolderPath = "/app/temp";
renderer.Installation.ChromeGpuMode = IronPdf.Rendering.ChromeGpuMode.Disabled;
$vbLabelText   $csharpLabel

ChromePdfRenderer類別可以將HTML 內容轉換為 PDF 格式,並能以像素級精確度處理靜態文字、影像和超連結。 這種方法可讓您運用現有的 HTML 和 CSS 知識,而無需學習複雜的 PDF 專用 API。渲染器可以跨不同環境處理字體、佈局和連結。 對於生產部署,渲染器支援自訂日誌記錄效能最佳化

HTML 轉 PDF 會產生什麼輸出?

PDF viewer displaying Invoice #1001 with a total of $500.00 in a browser-based interface with zoom controls set to 100%

渲染後的 PDF 檔案與 HTML 原始碼完全一致,保留了字體、間距和顏色。 對於發票和報告場景,這表示輸出結果與瀏覽器顯示的結果完全相同,無需任何特定於 PDF 格式的自訂佈局程式碼。 內部使用的 Chromium 渲染引擎可確保在 Windows、Linux 和 macOS 上保持一致的排版效果。

在 UWP 中如何處理文件儲存和列印?

對於 UWP 應用程序,保存檔案通常涉及應用程式的本機儲存資料夾,或使用檔案選擇器讓使用者選擇儲存位置。 當 PDF 文件載入到應用程式中時, IronPDF會將文件作為PdfDocument物件傳回,該物件可以儲存到流或文件路徑中。 該庫支援透過列印 API 直接列印 PDF 文檔,並且在瀏覽大型文檔時能夠有效地載入頁面。 它還支援匯出為 PDF/A 格式,以滿足長期存檔要求,這對於受監管的行業來說非常重要。

 IronPDF功能概覽,展示了四大主要類別:建立 PDF、轉換 PDF、編輯 PDF 以及簽名和保護 PDF,每個類別下還列出了詳細的子類別。

UWP PDF 專案有哪些文件操作選項?

實際的 UWP 應用程式經常需要合併 PDF 文件、提取特定頁面或重新組織內容以便於導航。 IronPDF提供簡單易用的PDF 合併和分割工具,無需深入了解 PDF 內部原理。 該庫使用虛擬頁面在運行時僅保留所需的最少頁面,從而減少處理大型文件時的記憶體消耗。 對於 DevOps 團隊而言,該程式庫支援 Docker 部署和 Linux 環境,而無需 Windows 相容層。

using IronPdf;

// Load existing PDF files
var pdf1 = PdfDocument.FromFile("report-q1.pdf");
var pdf2 = PdfDocument.FromFile("report-q2.pdf");
// Merge into a single document
var combined = PdfDocument.Merge(pdf1, pdf2);
// Remove a specific page (zero-indexed)
combined.RemovePage(0);
// Copy select pages to a new document
var excerpt = combined.CopyPages(2, 4);
combined.SaveAs("annual-report.pdf");
excerpt.SaveAs("summary.pdf");

// For production environments, enable compression
var compressOptions = new CompressOptions
{
    CompressImages = true,
    ImageQuality = 90
};
combined.CompressSize(compressOptions);
using IronPdf;

// Load existing PDF files
var pdf1 = PdfDocument.FromFile("report-q1.pdf");
var pdf2 = PdfDocument.FromFile("report-q2.pdf");
// Merge into a single document
var combined = PdfDocument.Merge(pdf1, pdf2);
// Remove a specific page (zero-indexed)
combined.RemovePage(0);
// Copy select pages to a new document
var excerpt = combined.CopyPages(2, 4);
combined.SaveAs("annual-report.pdf");
excerpt.SaveAs("summary.pdf");

// For production environments, enable compression
var compressOptions = new CompressOptions
{
    CompressImages = true,
    ImageQuality = 90
};
combined.CompressSize(compressOptions);
$vbLabelText   $csharpLabel

PdfDocument.Merge 方法接受多個 PDF 檔案並按順序合併它們。 這對於從不同的內容部分編譯報告或組裝文件包進行分發非常有用。 RemovePage和 CopyPages 方法可以精確控製文件結構,讓開發人員能夠有效率地編輯頁面。 該庫還支援頁面旋轉和自訂紙張尺寸,以滿足特殊的輸出要求。

為什麼基於零的索引對頁面操作很重要?

頁面操作使用從零開始的索引,因此第一頁的索引為 0。使用 CopyPages 複製範圍時,起始索引和結束索引都包含在內。這些方法傳回新的 PdfDocument 實例,運行時記憶體開銷更低,而原始實例保持不變,可供後續處理。 即使加載大型文檔,頁面也能快速加載,這得益於優化措施縮短了初始加載時間。該庫支援非同步操作,以便在高吞吐量環境下獲得更好效能。

了解索引行為可以防止在建立頁面層級編輯功能時出現差一錯誤。 例如,一個 10 頁的文檔,其頁碼索引為 0 到 9。呼叫 CopyPages(0, 4) 將產生一個包含第 1 到 5 頁的 5 頁摘錄。此行為符合標準的.NET集合約定,因此對於使用陣列和清單的開發人員來說會感到熟悉。

如何減少大型PDF文件的檔案大小?

 IronPDF功能對比,展示了三大關鍵優勢:像素級完美渲染、5 分鐘快速設定以及跨平台支持,每個類別下均附有詳細的功能列表。

IronPDF提供記憶體最佳化技術,並支援自訂臨時路徑,以有效管理資源使用情況。 處理包含大量高解析度影像的文件時,在合併作業期間啟用壓縮可以大幅減少輸出檔案的大小。 此庫包含內建的PDF 壓縮功能,可在不造成明顯品質損失的情況下,大幅減少典型商業文件的檔案大小。

CompressOptions 物件可以對壓縮過程進行精細控制。 將 ImageQuality 設為 90 可保留細節並減少檔案大小;低於 80 的值會產生較小的文件,但會犧牲一些清晰度。 對於檔案文件,建議保持品質在 95 分或以上。 將壓縮與PDF/A 合規性結合,既能滿足長期儲存要求,又能保持檔案大小可控。

PDF編輯器應用程式中的表單和浮水印是如何運作的?

互動式表單填寫和浮水印等視覺品牌元素為 PDF 輸出增添了專業感。 IronPDF支援從 HTML建立可填寫表單,也支援以程式設計方式操作現有表單欄位。 表單填寫支援功能使用戶能夠直接保存表單字段,從而實現資料收集工作流程。 UWP PDF 檢視器控制項可以顯示這些表單,並提供註釋工具用於標記。該庫還支援數位簽名,以滿足法律和金融領域對文件真實性的要求。

using IronPdf;

// Load a PDF with existing form fields
var pdf = PdfDocument.FromFile("contract-template.pdf");
// Fill form fields by name
pdf.Form.FindFormField("clientName").Value = "Acme Corporation";
pdf.Form.FindFormField("contractDate").Value = "2025-01-15";
// Apply a watermark across all pages
pdf.ApplyWatermark("<h2 style='color:gray; opacity:0.5'>DRAFT</h2>",
    rotation: 45,
    opacity: 30);

// Add production-ready security
pdf.SecuritySettings.OwnerPassword = Environment.GetEnvironmentVariable("PDF_OWNER_PASSWORD");
pdf.SecuritySettings.UserPassword = Environment.GetEnvironmentVariable("PDF_USER_PASSWORD");
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

// Apply digital signature for authenticity
var signature = new IronPdf.Signing.PdfSignature("certificate.pfx", "password")
{
    SigningContact = "legal@acmecorp.com",
    SigningLocation = "New York, NY"
};
pdf.Sign(signature);

pdf.SaveAs("completed-contract.pdf");
using IronPdf;

// Load a PDF with existing form fields
var pdf = PdfDocument.FromFile("contract-template.pdf");
// Fill form fields by name
pdf.Form.FindFormField("clientName").Value = "Acme Corporation";
pdf.Form.FindFormField("contractDate").Value = "2025-01-15";
// Apply a watermark across all pages
pdf.ApplyWatermark("<h2 style='color:gray; opacity:0.5'>DRAFT</h2>",
    rotation: 45,
    opacity: 30);

// Add production-ready security
pdf.SecuritySettings.OwnerPassword = Environment.GetEnvironmentVariable("PDF_OWNER_PASSWORD");
pdf.SecuritySettings.UserPassword = Environment.GetEnvironmentVariable("PDF_USER_PASSWORD");
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

// Apply digital signature for authenticity
var signature = new IronPdf.Signing.PdfSignature("certificate.pfx", "password")
{
    SigningContact = "legal@acmecorp.com",
    SigningLocation = "New York, NY"
};
pdf.Sign(signature);

pdf.SaveAs("completed-contract.pdf");
$vbLabelText   $csharpLabel

Form 屬性提供 PDF 文件中所有互動式欄位的存取。 使用 FindFormField 和欄位名稱可以檢索特定欄位以讀取或寫入值。 它可與文字輸入框、複選框、下拉式選單和其他標準表單元素配合使用,實現高效的資料輸入。 該庫支援提取表單資料並將表單扁平化以便最終分發,將互動式欄位轉換為靜態內容。

水印可接受 HTML 內容,從而可以透過 CSS 完全控制樣式。 不透明度和旋轉參數用於調整水印的視覺突出程度。 水印預設會套用至所有頁面,因此適用於將文件標記為草稿或機密,或新增公司品牌識別。 高級浮水印功能包括基於影像的印章和背景疊加,可滿足更複雜的品牌推廣需求。

表單欄位操作是怎樣的?

PDF 檢視器顯示客戶合約模板,其中客戶名稱和合約日期欄位為空,以 100% 縮放比例顯示在深色主題介面中。

處理完畢的表格會顯示成什麼樣子?

PDF 檢視器顯示已完成的客戶合約表格,客戶名稱為

有哪些註解和安全功能可用?

該庫包含註釋工具,允許開發人員直接在 PDF 頁面上添加墨跡註釋、繪製手繪標記和插入彈出式註釋。 這些註釋支援外部導航和超連結內容導航。 對於需要文件安全的應用, IronPDF透過專用 API 方法支援具有加密和數位簽章的密碼保護 PDF 檔案。 用戶可以搜尋和複製文本,並使用觸控手勢進行導航。 此檢視器以縮圖的形式顯示實際頁面,方便瀏覽。 其他功能包括可永久刪除敏感內容的編輯功能

安全設定控制最終使用者在產生 PDF 檔案後可以對其進行哪些操作。 停用複製貼上和列印功能可以保護合約分發或試卷等場景中的機密內容。 所有者密碼和使用者密碼遵循PDF 安全標準,並受到包括 Adob​​e Acrobat 在內的所有主要 PDF 閱讀器的認可。 對於需要長期完整性驗證的文件,將密碼保護與數位簽章結合,既能提供存取控制,又能提供篡改偵測。

UWP PDF 專案如何進行跨平台部署?

同一套程式碼庫可在 Windows、Linux、macOS 以及 Docker 和 Azure 等容器化環境中執行,為 UWP 應用程式提供了靈活性,使其能夠擴展到初始平台之外。 這對於最初只針對 Windows 平台,但後來需要支援基於 Web 或伺服器端渲染路徑的團隊來說很重要。 從 HTML 到 PDF 的轉換到文件合併,該庫的操作在所有受支援的執行時間環境中表現一致,因此相同的程式碼可以在所有平台上通過整合測試。

跨平台支援圖表,顯示IronPDF與多個.NET版本、作業系統、雲端平台和開發環境的相容性

對於 DevOps 團隊, IronPDF提供Docker 映像Kubernetes 部署指南,用於基於容器的部署。 該庫包含原生 Linux 支持,無需 Windows 相容層,並提供精簡的軟體包選項以減少部署體積。配置選項包括自訂日誌記錄、許可證金鑰管理以及可透過環境變數而非硬編碼值控制的特定環境設定。

PDF 檢視器支援所有必要的操作,包括列印、書籤以及面向國際用戶的 UTF-8 語言選項。 對於建立文件密集型應用程式的團隊而言,效能最佳化功能記憶體管理工具可以減少在擴展到大量文件或服務眾多並髮用戶時遇到的阻力。

下一步計劃是什麼?

IronPDF具備 UWP 開發人員所需的 PDF 編輯器功能,且不會造成不必要的複雜性。 從 HTML 到 PDF 的轉換,到文件合併、PDF 表單處理和浮水印,該庫透過一致的 API 涵蓋了核心文件工作流程,並支援 MVVM 和自訂工具列選項。 該庫包含完整的渲染選項,並支援在動態內容場景中執行JavaScript 。

了解IronPDF 的許可選項,找到適合您專案的方案。 在購買許可證之前,先透過免費試用來評估其能夠滿足您特定文件需求的功能。

IronPDF licensing page showing four tiers: Lite ($749), Plus ($999), Professional ($1,999), and Unlimited ($3,999) with varying developer, location, and project limits.

常見問題解答

IronPDF是否適用於UWP應用程式?

IronPDF針對.NET Standard 2.0,UWP應用程式可以通過.NET Standard 2.0類庫專案進行引用。您在類庫中安裝IronPDF,然後從UWP應用程式中引用該類庫。

如何在UWP應用程式中從HTML創建PDF?

使用ChromePdfRenderer.RenderHtmlAsPdf(htmlString)將任何HTML字串轉換為PDF文件。調用pdf.SaveAs(path)將其寫入磁碟,或使用pdf.BinaryData獲取原始位元組以進行流操作。

如何使用IronPDF合併多個PDF文件?

調用PdfDocument.Merge(pdf1, pdf2)將兩個PDF合併為一個。該方法接受params陣列,因此您可以在單次調用中傳遞任意數量的文件。

如何以程式化方式填寫PDF表單欄位?

使用pdf.Form.FindFormField("fieldName").Value = "value"來寫入命名的表單欄位。這適用於文字輸入、複選框和下拉控件。

如何將浮水印應用於PDF?

調用pdf.ApplyWatermark(htmlContent, rotation, opacity),其中htmlContent是樣式化的HTML字串,例如<h2 style='color:gray'>DRAFT</h2>。默認情況下,浮水印應用於所有頁面。

如何使用IronPDF為PDF設定密碼保護?

設置pdf.SecuritySettings.OwnerPasswordpdf.SecuritySettings.UserPassword,然後配置如AllowUserPrintingAllowUserCopyPasteContent等權限,在調用pdf.SaveAs之前。

IronPDF是否支持PDF/A以符合存檔標準?

是的。IronPDF可以使用SaveAsPdfA方法將標準PDF轉換為PDF/A-1b、PDF/A-2b和PDF/A-3b格式,這是受規範行業長期數位保存所需的。

IronPDF可以在Docker或Linux環境中運行嗎?

是的。IronPDF包含原生的Linux支持和官方Docker鏡像。在容器環境中運行時,設置renderer.Installation.TempFolderPath並禁用GPU模式。

如何使用IronPDF減少PDF檔案大小?

創建一個CompressOptions對象,設置CompressImages = trueImageQuality值在60到95之間,然後將其傳遞給pdf.CompressSize(compressOptions)

如何向PDF添加數位簽名?

使用PFX證書文件路徑和密碼創建一個PdfSignature對象,設定可選的聯絡和位置欄位,然後在儲存之前調用pdf.Sign(signature)

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me