比較 Word 文檔

使用 C# .NET 比較 Word 文檔

隨著企業和個人越來越依賴數字文檔,對高效文檔比較工具的需求變得越來越重要。手動比較文檔可能是乏味、耗時且容易出錯的。值得慶幸的是,借助 C# .NET 的強大功能,您可以自動化比較 Word 文檔的過程,使其更快、更準確、更可靠。在這篇博文中,我們將探討如何利用 .NET Cloud SDK 比較 Word 文檔,以及如何利用其功能來節省時間並改進文檔審閱流程。

用於比較文檔的 REST API

Aspose.Words Cloud SDK for .NET是一個強大的工具,可以幫助您輕鬆比較Word文檔。憑藉其全面的功能集,您可以比較兩個或多個文檔,識別它們之間的變化和差異,並生成突出顯示變化的報告。無論您是開發人員、項目經理還是編輯,此 SDK 都可以幫助您簡化文檔比較過程並節省寶貴的時間。

現在,為了使用SDK,請在NuGet 包管理器中搜索“Aspose.Words-Cloud”,然後單擊“添加包”按鈕在.NET 項目中添加SDK 的引用。

在 C# 中比較 Word 文檔

請嘗試使用以下代碼片段在線比較 Word 文檔。

// 如需完整示例和數據文件,請訪問 
https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet

// 從 https://dashboard.aspose.cloud/ 獲取客戶端憑證
string clientSecret = "7f098199230fc5f2175d494d48f2077c";
string clientID = "ee170169-ca49-49a4-87b7-0e2ff815ea6e";

// 使用 ClinetID 和 Client Secret 詳細信息創建配置對象
var config = new Aspose.Words.Cloud.Sdk.Configuration { ClientId = clientID, ClientSecret = clientSecret };
// 初始化 WordsApi 實例
var wordsApi = new WordsApi(config);

string firstDocument = "input-sample-1.docx";
string secondDocument = "input-sample-2.docx";
string resultantFile = "Comparison.docx";

// 從本地驅動器讀取第一個 Word 文檔的內容
var firstFile = System.IO.File.OpenRead(firstDocument);
// 從本地驅動器讀取第一個 Word 文檔
var secondFile = System.IO.File.OpenRead(secondDocument);
try
{
    // 將輸入的Word文檔上傳到雲存儲
    wordsApi.UploadFile(new UploadFileRequest(firstFile, firstDocument));
    wordsApi.UploadFile(new UploadFileRequest(secondFile, secondDocument));

    CompareData compareData = new CompareData();
    // 指定要比較的文件
    compareData.ComparingWithDocument = secondDocument;
    // 作者詳情
    compareData.Author = "Nayer Shahbaz";
    compareData.DateTime = DateTime.Now.Date;
    // 結果文檔的格式
    compareData.ResultDocumentFormat = "DOCX";

    // 設置文檔比較選項
    CompareOptions options = new CompareOptions()
    {
        IgnoreCaseChanges = true,
        IgnoreFormatting = true,
        IgnoreHeadersAndFooters = true,
        IgnoreFootnotes = true,
        IgnoreComments = true,
        IgnoreTextboxes = true,
        IgnoreTables = true,
        Target = CompareOptions.TargetEnum.Current,
        AcceptAllRevisionsBeforeComparison = true
     };
     compareData.CompareOptions = options

    // 創建 CreateDocument 的實例
    CompareDocumentRequest compare = new CompareDocumentRequest();
    compare.CompareData = compareData;
    compare.Name = firstDocument;
    // 結果文件名
    compare.DestFileName = resultantFile;
    
    // 啟動文檔比較操作
    wordsApi.CompareDocument(compare);
}
catch(Exception ex)
{
    // 文件上傳到雲存儲時出現任何異常
    Console.Write(ex.StackTrace);
}
// create configuration object using ClientID and Client Secret details
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };
// initialize WordsApi instance
var wordsApi = new WordsApi(config);

使用客戶端憑據創建 WordsApi 實例。

// read the content of first Word document from local drive
var firstFile = System.IO.File.OpenRead(firstDocument);
wordsApi.UploadFile(new UploadFileRequest(firstFile, firstDocument));

讀取輸入的Word文檔內容並上傳至雲存儲。

CompareData compareData = new CompareData();
compareData.ComparingWithDocument = secondDocument;
compareData.Author = "Nayyer Shahbaz";
compareData.DateTime = DateTime.Now.Date;
compareData.ResultDocumentFormat = "DOCX";

創建一個 CompareData 對象的實例,我們在其中指定要比較的文檔的名稱、作者詳細信息、日期和時間信息以及結果文檔的格式。

CompareOptions options = new CompareOptions()
{
    IgnoreCaseChanges = true,
    IgnoreFormatting = true,
    IgnoreHeadersAndFooters = true,
    IgnoreFootnotes = true,
    IgnoreComments = true,
    IgnoreTextboxes = true,
    IgnoreTables = true,
    Target = CompareOptions.TargetEnum.Current,
    AcceptAllRevisionsBeforeComparison = true
};
compareData.CompareOptions = options;

創建 CompareOptions 實例,我們在其中定義各種比較選項。

CompareDocumentRequest compare = new CompareDocumentRequest();
compare.CompareData = compareData;
compare.Name = firstDocument;
compare.DestFileName = resultantFile;

指定 CompareData 實例、源 Word 文檔的名稱和包含比較結果的輸出文件的名稱。

wordsApi.CompareDocument(compare);

啟動文檔比較操作並在雲存儲中生成輸出。

使用 cURL 命令比較兩個文檔

我們已經討論過,比較 Word 文檔可能是一項具有挑戰性且耗時的任務,尤其是在處理多個文件或複雜格式時。幸運的是,Aspose.Words Cloud 和 cURL 命令為快速輕鬆地比較 Word 文檔提供了強大的解決方案。我們可以比較兩個或多個文檔、跟踪更改並生成突出顯示文檔之間差異的詳細報告。

現在,請執行以下命令,根據 Client ID 和 Client Secret 詳細信息創建 JWT 訪問令牌。

curl -v "https://api.aspose.cloud/connect/token" \
 -X POST \
 -d "grant_type=client_credentials&client_id=a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4&client_secret=d87269aade6a46cdc295b711e26809af" \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Accept: application/json"

生成 JWT Token 後,請執行以下命令在線比較兩個 Word 文檔,並將結果文件保存在雲存儲中。

curl -v "https://api.aspose.cloud/v4.0/words/{sourceFirst}/compareDocument?destFileName={differenceFile}" \
-X PUT \
-H  "accept: application/json" \
-H  "Authorization: Bearer {accessToken}" \
-H  "Content-Type: application/json" \
-d "{\"ComparingWithDocument\":\"input-sample-2.docx\",\"Author\":\"Nayyer Shahbaz\",\"DateTime\":\"2023-04-23T06:02:29.481Z\",\"CompareOptions\":{\"IgnoreCaseChanges\":true,\"IgnoreTables\":true,\"IgnoreFields\":true,\"IgnoreFootnotes\":true,\"IgnoreComments\":true,\"IgnoreTextboxes\":true,\"IgnoreFormatting\":true,\"IgnoreHeadersAndFooters\":true,\"Target\":\"Current\",\"AcceptAllRevisionsBeforeComparison\":true},\"ResultDocumentFormat\":\"docx\"}"

{sourceFirst} 替換為輸入 Word 文檔的名稱(存在於雲存儲中),將 {accessToken} 替換為上面生成的 JWT 訪問令牌,將 {differenceFile} 替換為生成的 Word 文檔的名稱,突出比較差異.

word文檔比較

圖片:- 使用 .NET REST API 預覽 Word 文檔比較。

結論

總之,比較 Word 文檔可能是一項艱鉅的任務,但藉助 Aspose.Words Cloud 和 cURL 命令或其強大的 .NET Cloud SDK,您可以使用強大的解決方案。無論您喜歡使用 C# .NET 還是喜歡使用 cURL 等命令行工具,Aspose.Words Cloud 都提供了一系列選項來比較兩個或多個文檔、跟踪更改和生成詳細報告。憑藉其靈活和可自定義的功能,它是任何定期使用 Word 文檔的人的必備資源。那麼何不嘗試一下,看看它如何幫助您簡化文檔比較過程。

有用的鏈接

相關文章

我們強烈建議瀏覽以下博客: