翻譯|使用教程|編輯:胡濤|2023-02-24 10:09:14.977|閱讀 141 次
概述:我將向您展示如何在 ASP.NET Web 應(yīng)用程序中使用 C# 比較兩個 Word DOCX,歡迎查閱
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Aspose.Words 是一種高級Word文檔處理API,用于執(zhí)行各種文檔管理和操作任務(wù)。API支持生成,修改,轉(zhuǎn)換,呈現(xiàn)和打印文檔,而無需在跨平臺應(yīng)用程序中直接使用Microsoft Word。此外,
Aspose API支持流行文件格式處理,并允許將各類文檔導(dǎo)出或轉(zhuǎn)換為固定布局文件格式和最常用的圖像/多媒體格式。
我們經(jīng)常需要比較兩個 MS Word DOC/DOCX 文檔來檢查相同點(diǎn)或不同點(diǎn)。通過比較,我們可以了解單個 Word 文檔的兩個版本發(fā)生了什么變化。可以使用各種在線文檔比較應(yīng)用程序來比較兩個 Word 文檔。但是,有時您需要在 Web 應(yīng)用程序中集成文檔比較功能。另一方面,您可能想要構(gòu)建自己的在線文檔比較應(yīng)用程序。為了處理此類情況,我將向您展示如何在 ASP.NET Web 應(yīng)用程序中使用 C# 比較兩個 Word DOCX。此應(yīng)用程序?qū)⒕哂幸韵鹿δ堋?
為了在沒有 MS Office 的情況下執(zhí)行 Word 文檔的比較,我們將使用Aspose.Words for .NET,它是一個用于 ASP.NET 或其他 .NET/.NET Core 應(yīng)用程序的強(qiáng)大的文字處理 API。您可以下載API 或使用NuGet在您的 ASP.NET 應(yīng)用程序中安裝它。
PM> Install-Package Aspose.Words
@{ ViewData["Title"] = "MS Word Comparison in ASP.NET"; } <h2 class="text-info">Compare Two Word DOC/DOCX Documents</h2> <p class="text-info">Compare the contents of MS Word documents and get the results in DOCX or PDF format.</p> <br /> <form asp-controller="Home" asp-action="UploadFiles" method="post" class="form-inline dropzone" enctype="multipart/form-data"> <div class="row"> <div class="col-md-6" align="center"> <div class="form-group"> <input type="file" id="input-id" name="files" accept=".doc, .docx" class="form-control file" data-preview-file-type="text" /> </div> </div> <div class="col-md-6" align="center"> <div class="form-group"> <input type="file" id="input-id2" name="files" accept=".doc, .docx" class="form-control file" /> </div> </div> </div> <br /> <div class="row"> <div class="col-md-12" align="center"> <div class="form-group"> <p class="text-info"> <strong>Output format:</strong> <select name="outputFormat" class="form-control"> <option value="DOCX">DOCX</option> <option value="PDF">PDF</option> </select> </p> </div> <div class="col-md-12" align="center"> <div class="form-group"> <button type="submit" class="form-control btn btn-success">Compare and Download</button> </div> </div> </div> </div> </form> <script> // Drag and drop plugin options $("#input-id").fileinput({ 'showUpload': false, 'previewFileType': 'any', 'showClose': false }); $("#input-id2").fileinput({ 'showUpload': false, 'previewFileType': 'any', 'showClose': false }); </script>
[HttpPost] public FileResult UploadFiles(List<IFormFile> files, string outputFormat) { if(files.Count()==0) { return null; } string fileName = "result.docx"; // Upload files var file1 = Path.Combine("wwwroot/uploads", files[0].FileName); var file2 = Path.Combine("wwwroot/uploads", files[1].FileName); using (var stream = new FileStream(file1, FileMode.Create)) { files[0].CopyTo(stream); } using (var stream = new FileStream(file2, FileMode.Create)) { files[1].CopyTo(stream); } // Load Word documents Document doc1 = new Document(file1); Document doc2 = new Document(file2); // Set comparison features CompareOptions compareOptions = new CompareOptions(); compareOptions.IgnoreFormatting = true; compareOptions.IgnoreCaseChanges = true; compareOptions.IgnoreComments = true; compareOptions.IgnoreTables = true; compareOptions.IgnoreFields = true; compareOptions.IgnoreFootnotes = true; compareOptions.IgnoreTextboxes = true; compareOptions.IgnoreHeadersAndFooters = true; compareOptions.Target = ComparisonTargetType.New; var outputStream = new MemoryStream(); // Compare Word documents doc1.Compare(doc2, "John Doe", DateTime.Now, compareOptions); if (outputFormat == "DOCX") { // For comparison result in DOCX doc1.Save(outputStream, SaveFormat.Docx); outputStream.Position = 0; // Return generated Word file return File(outputStream, System.Net.Mime.MediaTypeNames.Application.Rtf, fileName); } else { // For comparison result in PDF fileName = "result.pdf"; doc1.Save(outputStream, SaveFormat.Pdf); outputStream.Position = 0; // Return generated PDF file return File(outputStream, System.Net.Mime.MediaTypeNames.Application.Pdf, fileName); } }
<!--drag and drop file plugin--> <link media="all" rel="stylesheet" type="text/css" /> <script src="http://code.jquery.com/jquery-3.3.1.min.js" crossorigin="anonymous"></script> <script src="http://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/bootstrap-fileinput/5.0.9/js/fileinput.min.js"></script> <!--end of drag and drop-->
以下是如何使用我們的 C# ASP.NET 文檔比較應(yīng)用程序來比較兩個 Word 文檔的演示。
以上便是在 ASP.NET 中使用 C# 比較兩個 Word 文檔 ,要是您還有其他關(guān)于產(chǎn)品方面的問題,歡迎咨詢我們,或者加入我們官方技術(shù)交流群。
歡迎下載|體驗(yàn)更多Aspose產(chǎn)品
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn