محرر كلمات ASP.NET MVC

يوفر Aspose.Words for .NET مجموعة كاملة من الميزات لمعالجة وتحويل مستندات MS Word ضمن العديد من تطبيقات .NET. على وجه الخصوص ، يمكنك إنشاء مستندات Word جديدة أو تحريرها داخل سطح المكتب أو تطبيقات الويب. في هذا المنشور ، سأوضح لك كيفية الاستفادة من إمكانات معالجة الكلمات في Aspose.Words for .NET وإنشاء محرر MS Word على شبكة الإنترنت في ASP.NET MVC.

؛ ASP.NET MVC Word Editor - إنشاء مستندات Word

سنقوم بإنشاء ASP.NET MVC Word Editor الذي سيعتمد على محرر WYSIWYG HTML لكتابة وتحديث محتوى المستندات. علاوة على ذلك ، سيتم استخدام Aspose.Words for .NET لتحويل محتوى مستند Word إلى HTML لتحرير وإنشاء مستندات Word من المحتوى المحدث.

خطوات إنشاء محرر MS Word في ASP.NET MVC

للشرح ، لقد استخدمت محرر WYSIWYG المستند إلى JavaScript 2 في هذا التطبيق. يمكنك إما استخدام نفس محرر HTML أو اختيار أي محرر HTML آخر يناسب متطلباتك. فيما يلي خطوات إنشاء ASP.NET Word Editor.

  • أولاً ، قم بإنشاء تطبيق ويب ASP.NET Core جديد في Visual Studio.
  • حدد قالب تطبيق الويب (Model-View-Controller).
  • نزّل ملفات محرر WYSIWYG واحتفظ بها في دليل wwwroot.
  • افتح NuGet Package Manager وقم بتثبيت حزمة Aspose.Words for .NET.
  • أضف البرنامج النصي التالي في طريقة العرض index.cshtml.
@{
    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>
  • أضف الطرق التالية في وحدة تحكم HomeController.cs.
[HttpPost]
public FileResult Index(string editor)
{
	try
	{
		// قم بإنشاء اسم ملف فريد
		string fileName = Guid.NewGuid() + ".docx";
		// تحويل نص HTML إلى مجموعة بايت
		byte[] byteArray = Encoding.UTF8.GetBytes(editor.Contains("<html>") ? editor : "<html>" + editor + "</html>");
		// قم بإنشاء مستند Word من HTML
		MemoryStream stream = new MemoryStream(byteArray);
		Document Document = new Document(stream);
		// إنشاء دفق الذاكرة لملف Word
		var outputStream = new MemoryStream();
		Document.Save(outputStream, SaveFormat.Docx);
		outputStream.Position = 0;
		// إرجاع ملف Word الذي تم إنشاؤه
		return File(outputStream, System.Net.Mime.MediaTypeNames.Application.Rtf, fileName);
	}
	catch (Exception exp)
	{
		return null;
	}
}
[HttpPost]
public ViewResult UploadFile(IFormFile file)
{
	// تعيين مسار الملف
	var path = Path.Combine("wwwroot/uploads", file.FileName);
	using (var stream = new FileStream(path, FileMode.Create))
	{
		file.CopyTo(stream);
	}
	// تحميل مستند Word
	Document doc = new Document(path);
	var outStream = new MemoryStream();
	// اضبط خيارات HTML
	HtmlSaveOptions opt = new HtmlSaveOptions();
	opt.ExportImagesAsBase64 = true;
	opt.ExportFontsAsBase64 = true; 
	// تحويل مستند Word إلى HTML
	doc.Save(outStream, opt);
	// قراءة النص من الدفق
	outStream.Position = 0;
	using(StreamReader reader = new StreamReader(outStream))
	{
		ViewBag.HtmlContent = reader.ReadToEnd();
	}
	return View("Index");
}
  • أخيرًا ، قم ببناء التطبيق وتشغيله في متصفحك المفضل.

تجريبي

فيما يلي عرض توضيحي لكيفية إنشاء مستندات Word أو تحريرها في ASP.NET Word Editor.

قم بإنشاء مستند Word في ASP.NET

تحرير مستند Word في ASP.NET

تحميل شفرة المصدر

يمكنك تنزيل الكود المصدري لبرنامج MS Word Editor من هنا.

استنتاج

في هذه المقالة ، تعلمت كيفية إنشاء مستندات MS Word في ASP.NET. أظهر الدليل التفصيلي جنبًا إلى جنب مع نماذج التعليمات البرمجية كيفية إنشاء محرر MS Word بسيط قائم على الويب في ASP.NET MVC. إلى جانب ذلك ، يمكنك استكشاف المزيد حول Aspose.Words for .NET باستخدام الموارد التالية.

جرب Aspose.Words for .NET مجانًا

يمكنك تجربة Aspose.Words for .NET مجانًا عن طريق طلب ترخيص مؤقت.

مقالات ذات صلة