翻譯|使用教程|編輯:胡濤|2023-03-13 14:20:02.933|閱讀 147 次
概述:本文介紹在 ASP.NET MVC 中創建 MS Word 編輯器,歡迎查閱~
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Aspose.Words 是一種高級Word文檔處理API,用于執行各種文檔管理和操作任務。API支持生成,修改,轉換,呈現和打印文檔,而無需在跨平臺應用程序中直接使用Microsoft Word。此外,
Aspose API支持流行文件格式處理,并允許將各類文檔導出或轉換為固定布局文件格式和最常用的圖像/多媒體格式。
Aspose.Words for .NET提供了一套完整的功能,用于在大量的.NET 應用程序中操作和轉換 MS Word 文檔。特別是,您可以在桌面或 Web 應用程序中創建新的或編輯現有的 Word 文檔。在本文中,我將向您展示如何利用Aspose.Words for .NET的 Word 處理功能并在 ASP.NET MVC 中創建基于 Web 的MS Word 編輯器。
我們將創建一個基于 WYSIWYG HTML 編輯器的 ASP.NET MVC Word 編輯器,用于編寫和更新文檔的內容。此外,Aspose.Words for .NET將用于將 Word 文檔的內容呈現為 HTML,以便根據更新的內容編輯和生成 Word 文檔。
在 ASP.NET MVC 中創建 MS Word 編輯器的步驟:
為了演示,我在此應用程序中使用了基于 JavaScript 的 WYSIWYG 編輯器。您可以使用相同的或選擇適合您要求的任何其他 HTML 編輯器。以下是創建 ASP.NET Word 編輯器的步驟。
@{ ViewData["Title"] = "Word Editor in ASP.NET"; } <div class="row"> <div class="col-md-12"> <form asp-controller="Home" asp-action="UploadFile" method="post" class="form-inline" enctype="multipart/form-data"> <br /> <div class="form-group"> <input type="file" name="file" accept=".doc, .docx" class="form-control custom-file-input" /> </div> <div class="form-group"> <button type="submit" class="form-control btn btn-primary">Open</button> </div> <div class="form-group" style="position:relative; float :right"> <button type="button" id="download" class="form-control btn btn-success" value="Save and Download">Save and Download</button> </div> </form> <br /> <form method="post" asp-action="Index" id="formDownload"> <textarea name="editor" id="editor" rows="80" cols="100"> @if (ViewBag.HtmlContent == null) { <p>Write something or open an existing Word document. </p> } else { @ViewBag.HtmlContent; } </textarea> </form> </div> </div> <!-- suneditor --> <link href="~/suneditor/dist/css/suneditor.min.css" rel="stylesheet"> <!-- suneditor --> <script src="~/suneditor/dist/suneditor.min.js"></script> <script> var suneditor = SUNEDITOR.create('editor', { display: 'block', width: '100%', height: '30%', popupDisplay: 'full', buttonList: [ ['font', 'fontSize', 'formatBlock'], ['paragraphStyle', 'blockquote'], ['bold', 'underline', 'align', 'strike', 'subscript', 'superscript', 'horizontalRule', 'list'], ['table', 'link', 'image'], ['align', 'horizontalRule', 'list', 'lineHeight'], ['codeView'] ], placeholder: 'Start typing something...' }); </script> <script> $(document).ready(function () { $("#download").click(function () { suneditor.save(); $("#formDownload").submit(); }); }); </script>
[HttpPost] public FileResult Index(string editor) { try { // Create a unique file name string fileName = Guid.NewGuid() + ".docx"; // Convert HTML text to byte array byte[] byteArray = Encoding.UTF8.GetBytes(editor.Contains("<html>") ? editor : "<html>" + editor + "</html>"); // Generate Word document from the HTML MemoryStream stream = new MemoryStream(byteArray); Document Document = new Document(stream); // Create memory stream for the Word file var outputStream = new MemoryStream(); Document.Save(outputStream, SaveFormat.Docx); outputStream.Position = 0; // Return generated Word file return File(outputStream, System.Net.Mime.MediaTypeNames.Application.Rtf, fileName); } catch (Exception exp) { return null; } } [HttpPost] public ViewResult UploadFile(IFormFile file) { // Set file path var path = Path.Combine("wwwroot/uploads", file.FileName); using (var stream = new FileStream(path, FileMode.Create)) { file.CopyTo(stream); } // Load Word document Document doc = new Document(path); var outStream = new MemoryStream(); // Set HTML options HtmlSaveOptions opt = new HtmlSaveOptions(); opt.ExportImagesAsBase64 = true; opt.ExportFontsAsBase64 = true; // Convert Word document to HTML doc.Save(outStream, opt); // Read text from stream outStream.Position = 0; using(StreamReader reader = new StreamReader(outStream)) { ViewBag.HtmlContent = reader.ReadToEnd(); } return View("Index"); }
下面演示如何在 ASP.NET Word Editor 中創建或編輯 Word 文檔。
在 ASP.NET 中創建 Word 文檔:
在 ASP.NET 中編輯 Word 文檔:
下載源代碼
下載 MS Word 編輯器的源代碼。
以上便是在 ASP.NET MVC 中創建 MS Word 編輯器 ,要是您還有其他關于產品方面的問題,歡迎咨詢我們,或者加入我們官方技術交流群。
歡迎下載|體驗更多Aspose產品
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn