
Microsoft Word 支援「比較」選項,使用戶能夠比較 Word 文件並識別新新增的變更。此功能非常有用,因為您可以在 Word 文件中並排執行文字比較操作。然而,文字差異檢查器的程式設計解決方案可以更快、更有效率,並且可以輕鬆執行批次文字差異操作。在本文中,我們將使用 REST-API 執行文字比較操作,以便找到差異。
文字比較 API
Aspose.Words Cloud SDK for .NET 可讓您建立、操作並將主要的 MS Word 格式(DOC、DOCX、DOCM 等)轉換為其他支援的格式。同時,它還提供比較Word文件並突出顯示差異的功能。現在,為了使用 SDK,請在套件管理器控制台上使用以下命令從 NuGet 庫 安裝它:
Install-Package Aspose.Words-Cloud
欲了解更多信息,您可以考慮訪問以下連結以獲取有關如何安裝 Aspose.Cloud SDKs的更多資訊。現在安裝完成後,我們還需要透過存取Aspose.Cloud 儀表板建立一個免費帳戶。只需使用您的 GitHub 或 Google 帳戶註冊,或點擊 建立新帳戶 按鈕。頁面上顯示的客戶端憑證將在後續部分中使用。
使用 C# 在線比較文本
下面給出了步驟和程式碼片段,詳細解釋如何使用 C# .NET 程式碼片段比較兩個 Word 文件。
- 首先我們需要在程式碼中定義ClientID和ClientSecret資訊。
- 其次,透過提供 ClientID 和 ClientSecret 詳細資訊作為參數來建立 Configuration 類別的物件。
- 第三,建立 WordsApi 類別的物件並將 Configuration 實例傳遞為參數。
- 現在建立 CompareData 類別的實例。
- 為了具體識別結果檔案中所標識的人員的姓名,請使用 CompareData 類別的 Author 屬性。
- CompareData類別的ComparingWithDocument屬性用來指定要比較內容的目標文件。
- 現在建立一個 CompareDocumentRequest 類別的實例,該類別以輸入/來源檔案、CompareData 物件和結果檔案名稱作為參數。
- 最後,呼叫CompareDocument(..)方法啟動比較操作。
String MyClientID = "c235e685-1aab-4cda-a95b-54afd63eb87f"; // Get Client Id from https://dashboard.aspose.cloud/
String MyClientSecret = "b8da4ee37494f2ef8da3c727f3a0acb9"; // Get Client Secret from https://dashboard.aspose.cloud/
// 建立 Configuration 類別的實例
// 並提供您的個人化客戶端 ID 和客戶端密鑰詳細信息
var config = new Configuration { ClientId = MyClientID, ClientSecret = MyClientSecret };
// 使用配置實例初始化 WordsAPI 對象
var wordsApi = new WordsApi(config);
// 第一個輸入文檔
string firstDocument = "file-sample.docx";
// 要比較的第二份文件
string secondFile = "file-sample-updated.docx";
// 結果文件的名稱
string resultantFile = "Out_ComparedTestDocs.docx";
// 建立 CompareData 類別的實例
CompareData compareData = new CompareData();
// 用作作者識別差異的名稱
compareData.Author = "Nayyer";
// 指定要比較的文檔
compareData.ComparingWithDocument = secondFile;
compareData.DateTime = DateTime.Now;
// 透過提供來源、要比較的文檔和結果檔案名稱來建立請求實例
CompareDocumentRequest request = new CompareDocumentRequest(firstDocument, compareData, null, null, null, null, resultantFile);
// 啟動文件比較
DocumentResponse result = wordsApi.CompareDocument(request);
上述範例中使用的範例檔案可以從以下連結下載
使用 cURL 命令比較 Word 文檔
在本節中,我們將學習如何使用 cURL 指令比較 Word 文件的步驟。由於我們的 API 僅供授權人員訪問,因此請執行以下命令根據客戶端 ID 和客戶端金鑰詳細資訊建立 JWT 存取權杖。
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=c235e685-1aab-4cda-a95b-54afd63eb87f&client_secret=b8da4ee37494f2ef8da3c727f3a0acb9" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
下面給出的 cURL 指令顯示如何使用 cURL 指令線上執行檔比較。它存取 CompareDocument 方法,並將此操作的結果寫入包含追蹤變更的輸出文檔,作為多次編輯和格式修訂。請注意,如果您不提供輸出文檔詳細信息,修訂將保存到原始文檔。
curl -X PUT "https://api.aspose.cloud/v4.0/words/file-sample.docx/compareDocument?destFileName=ComparisonResult.docx" \
-H "accept: application/json"
-H "Authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "{\"ComparingWithDocument\":\"file-sample-updated.docx\",\"Author\":\"Nayyer\",\"DateTime\":\"2021-04-27T16:50:55.869Z\",\"CompareOptions\":{\"IgnoreCaseChanges\":true,\"IgnoreTables\":true,\"IgnoreFields\":true,\"IgnoreFootnotes\":true,\"IgnoreComments\":true,\"IgnoreTextboxes\":true,\"IgnoreFormatting\":true,\"IgnoreHeadersAndFooters\":true,\"Target\":\"Current\"}}"
指令執行後,刪除的資訊會被單獨標出,新加入的內容則會以黃色高亮顯示。

圖 1:- 原始文件和修改後文件的預覽。

圖 2:文本比較的預覽。
結論
在本文中,我們解釋了使用 Aspose.Words Cloud API 比較 Word 文件的步驟。請注意,也可以透過 swagger 介面 存取 API。此外,我們的雲端 SDK 是開源的,其完整的原始碼可以從 GitHub 下載。
我們還建議您存取產品文件,以獲取有關 API 提供的其他令人興奮的功能的更多詳細資訊。您的回饋對我們非常重要。因此,請隨時透過我們的支援論壇與我們聯繫。
參見
您可以考慮訪問以下連結以獲取以下資訊: