Page Builder 功能通過允許用戶精確且輕鬆地無縫合併來自不同文檔的頁面,改變了文檔合併的方式。它使得以任何順序合併頁面成為可能,讓用戶對最終文檔的結構擁有完全的控制權。無論是合併幾個關鍵頁面還是創建一份綜合文檔,該工具都確保了靈活性和效率。通過減少手動工作量,它簡化了製作定制文檔的過程,節省了寶貴的時間並提升了個人和專業工作流程中的整體生產力。

以下主題在此討論:
如果您對 Merging documents online 感興趣,請訪問由 GroupDocs 提供支持的 Online Merging Tool。
理解頁面建立器
The Page Builder feature introduces a streamlined way to create custom documents by combining pages from multiple source documents. This feature allows developers to build a new document step-by-step, adding pages in any sequence from two or more documents. Here`s how the process works:
- 開始通過使用 Merger 類加載源 Word 文檔,並將其中一個源文檔傳遞給構造函數。
- 逐一合併文件,使用 Join 方法。
- 初始化 Page Builder。通过 Merger 实例的方法 CreatePageBuilder。这作为构建新文档的起点。
- Page Builder 實例的 AddPage 方法允許將先前聯接的文檔中的任何特定頁面添加到目標文檔中。
- 對於每個來源文件,選擇您想要在索引中包括的具體頁面;
- 將這些頁面按所需的順序添加到新文檔中。您可以混合和匹配來自不同文檔的頁面以滿足您的需求;
- 重複此過程以處理額外的來源文件,確保您能夠靈活地組合頁面,以最適合您的需求;
- 使用 ApplyPageBuilder 方法從頁面構建器實例應用變更
- 將合併的文件保存到任何目的地。一旦添加了所有必要的頁面,請保存新的文件。最終輸出將是一個完全自訂的文件,包含來自多個來源的頁面,按照您想要的方式進行組織。
這個逐步的方法使得創建針對特定用例的文檔變得輕而易舉,例如編寫報告、創建個性化的演示文稿或組裝法律文件。使用 Page Builder,開發人員對頁面順序和內容擁有完全的控制,消除了耗時的手動編輯需求,並確保最終輸出的精確性。
範例案例和程式碼實作
讓我們通過一個實際範例來演示如何在 GroupDocs.Merger 中使用 Page Builder 功能。為了簡化情況,假設我們有兩個文件:
- Document A with 4 pages.
- Document B with 4 pages.
我們的目標是通過根據特定場景以不同的順序合併這兩份文件的頁面來創建一份新文檔。

在這裡,我們用文件字母 A、B 和頁碼標記每個文件頁面。從文件 A 和 B 中,我們需要接收結構如下的定制文件 C。

以下源代碼片段顯示如何從幾個文檔中合併特定頁面到結果文檔中。
string documentA = @"documentA.pdf";
string documentB = @"documentB.pdf";
string documentC = @"documentC.pdf";
using (Merger merger = new Merger(documentA))
{
merger.Join(documentB);
PageBuilder pageBuilder = merger.CreatePageBuilder();
// get documents A and B references
var docA = pageBuilder.Documents[0];
var docB = pageBuilder.Documents[1];
pageBuilder.AddPage(docA.Pages[0]); // document A, page 1 or Page A-1
pageBuilder.AddPage(docB.Pages[0]); // document B, page 1 or Page B-1
pageBuilder.AddPage(docB.Pages[1]); // document B, page 2 or Page B-2
pageBuilder.AddPage(docB.Pages[2]); // document B, page 3 or Page B-3
pageBuilder.AddPage(docA.Pages[1]); // document A, page 2 or Page A-2
pageBuilder.AddPage(docA.Pages[3]); // document A, page 4 or Page A-4
// Apply the page order
merger.ApplyPageBuilder(pageBuilder);
merger.Save(documentC);
}
指定所需頁面的範圍
在進行文檔操作時,有效地添加多個頁面對於處理複雜的工作流程至關重要。與其單獨添加頁面,您可以使用 AddPageRange 方法,它接受一個 IPageInfo 物件的數組,每個物件代表一個特定的頁面。這種方法簡化了過程,減少了重複代碼,並通過允許批量操作來提高性能。以下是示範如何利用此方法從不同文檔中添加多個頁面的代碼示例,該操作簡化而高效。
以下是合併來自不同文件的多個頁面並指定範圍的步驟:
- 創建一個 Merger 物件並提供來源文件的路徑或流。
- 使用 Join 來添加另一個源文檔。對於每個要合併的文檔,重複此步驟。
- 創建一個 PageBuilder 物件,通過調用 CreatePageBuilder 方法。
- 呼叫 AddPageRange 方法並傳遞一個陣列的 IPageInfo 物件來描述適當的頁面。請注意 IPageInfo 物件使用基於零的來源文件和頁碼表示法。
- 使用 ApplyPageBuilder 方法將指定的頁面順序應用於合併的文件。
- 保存结果文档,通过调用 Save 方法并提供文件路径。
string documentA = @"documentA.pdf";
string documentB = @"documentB.pdf";
string documentC = @"documentC.pdf";
using (Merger merger = new Merger(documentA))
{
merger.Join(documentB);
PageBuilder pageBuilder = merger.CreatePageBuilder();
// get documents A and B references
var docA = pageBuilder.Documents[0];
var docB = pageBuilder.Documents[1];
// Specify a range of pages
IPageInfo[] range = new IPageInfo[] {
docA.Pages[0], // Page A-1 from the document A
docB.Pages[0], // Page B-1 from the document B
docB.Pages[1], // Page B-2 from the document B
docB.Pages[2], // Page B-3 from the document B
docA.Pages[1], // Page A-2 from the document A
docA.Pages[3], // Page A-4 from the document A
};
// Append a page of pages
pageBuilder.AddPageRange(range);
// Apply the page order
merger.ApplyPageBuilder(pageBuilder);
merger.Save(documentC);
}
結論
這些範例展示了網頁編輯器功能的多樣性。開發人員可以輕鬆地將來自多個文檔的頁面以不同的順序組合起來,以創建定制的輸出。此功能顯著降低了手動工作量,並確保了文檔生成的精確性,使其成為許多不同用例中的必備工具。
獲得免費的 API 許可證
您可以 取得免費臨時許可證 以在沒有評估限制的情況下使用 API。
建立您自己的合併頁面生成器應用程式
這裡有一些重要的連結,可以幫助你建構自己的文檔比較應用程式。
運行範例 – GitHub | 免費支援論壇 | 發佈說明
另請參閱
如需更多信息和额外资源,您可能会发现以下链接有用: