دمج مستندات Word ASP.NET

قد يكون دمج مستندات MS Word المتعددة مفيدًا في سيناريوهات مختلفة. على سبيل المثال ، يمكن استخدامه في الاحتفاظ بنوع مماثل من المستندات في ملف واحد ، والجمع بين عدة مستندات قبل المشاركة ، وما إلى ذلك. تتوفر العديد من أدوات الإنترنت التي تتيح لك دمج مستندات MS Word بسهولة تامة ، ومع ذلك ، ماذا لو كنت تريد إضافة هذه الميزة داخل التطبيق الخاص بك؟ لتحقيق ذلك ، سأوضح لك كيفية دمج مستندات MS Word (DOC / DOCX) باستخدام C# داخل تطبيقات الويب ASP.NET. سيحتوي تطبيق Word Document Merger هذا على الميزات التالية:

  • دمج مستندات MS Word في مستند واحد
  • قم بتنزيل مستندات Word المدمجة بتنسيق DOCX
  • قم بتنزيل مستندات Word المدمجة بتنسيق PDF

NET API لدمج مستندات MS Word في ASP.NET

Aspose.Words for .NET عبارة عن واجهة برمجة تطبيقات معالجة نصوص غنية بالمميزات تتيح لك معالجة مستندات MS Word بسهولة. كما يسمح لك بدمج مستندات Word متعددة في مستند واحد داخل ASP.NET أو أي تطبيق .NET / .NET Core. يمكن تثبيت Aspose.Words for .NET باستخدام NuGet بالإضافة إلى تنزيلها كملف DLL.

PM> install-package Aspose.Words

دمج مستندات MS Word في ASP.NET

فيما يلي خطوات إنشاء تطبيق ASP.NET يتيح لك دمج مستندين أو أكثر من مستندات Word (DOC / DOCX) دون استخدام MS Office / Word.

  • قم بإنشاء تطبيق ويب ASP.NET Core في Visual Studio.
إنشاء تطبيق ويب ASP.NET Core
  • اختر تطبيق الويب (Model-View-Controller) من قائمة القوالب.
حدد تطبيق MVC
  • قم بتثبيت Aspose.Words for .NET من NuGet Package Manager أو Package Manager Console.
NET API لمقارنة الكلمات
  • أدخل البرنامج النصي التالي في ملف index.cshtml الخاص بك.
@{
    ViewData["Title"] = "Merge MS Word Documents in ASP.NET";
}

<div class="row">
    <div class="col-md-12" align="center">
        <h2 class="text-info">Merge Two or More Word DOC/DOCX Documents</h2>
        <p class="text-info">Merge MS Word documents and get the results in DOCX or PDF format.</p>
    </div>
</div>
<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-12" align="center">
            <div>
                <input type="file" id="input-id" name="files" multiple accept=".doc, .docx" class="form-control file" data-preview-file-type="text" />
            </div>
        </div>
    </div>
    <hr />
    <div class="row">
        <div class="col-md-12" align="center">
            <div class="input-group-lg">
                <strong>Save As</strong>
                <select name="outputFormat" class="form-control">
                    <option value="DOCX">DOCX</option>
                    <option value="PDF">PDF</option>
                </select>
                <button type="submit" class="form-control btn btn-success">Merge and Download</button>               
            </div> 
        </div>
    </div>
</form>
<script>
    // قم بسحب وإفلات خيارات البرنامج المساعد
    $("#input-id").fileinput({ 'mainClass': "input-group-lg", 'showBrowse': true, 'showUpload': false, 'previewFileType': 'any', 'showClose': false, 'maxFileCount': 5, });
</script>
  • أدخل الكود التالي في صفك HomeController.cs.
public FileResult UploadFiles(List<IFormFile> files, string outputFormat)
{
	if (files.Count() <= 1)
	{
		// عرض بعض الرسائل
		return null;
	}
	string fileName = "merged-document.docx";
	string path = "wwwroot/uploads";
	List<Document> documents = new List<Document>();
	// تحميل الملفات 
	foreach (IFormFile file in files)
	{
		string filePath = Path.Combine(path, file.FileName);
		// احفظ الملفات
		using (var stream = new FileStream(filePath, FileMode.Create))
		{
			file.CopyTo(stream);
		}
		// أضف كافة المستندات إلى القائمة
		documents.Add(new Document(filePath));
	}
	// قم بتحميل مستند Word الأول
	Document doc1 = documents[0];
	for (int i = 1; i < documents.Count(); i++)
	{
    // دمج مستندات Word
		doc1.AppendDocument(documents[i], ImportFormatMode.KeepSourceFormatting);
	}           

	var outputStream = new MemoryStream(); 
	if (outputFormat == "DOCX")
	{
		doc1.Save(outputStream, SaveFormat.Docx);
		outputStream.Position = 0;
		// إرجاع ملف Word الذي تم إنشاؤه
		return File(outputStream, System.Net.Mime.MediaTypeNames.Application.Rtf, fileName);
	}
	else
	{
		fileName = "merged-document.pdf";
		doc1.Save(outputStream, SaveFormat.Pdf);
		outputStream.Position = 0;
		// إرجاع ملف PDF الذي تم إنشاؤه
		return File(outputStream, System.Net.Mime.MediaTypeNames.Application.Pdf, fileName);
	}
}
  • قم بتضمين ملفات JS و CSS التالية الخاصة بالمكوِّن الإضافي للسحب والإفلات ضمن علامة الرأس لملف layout.cshtml.
<!--drag and drop file plugin-->
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-fileinput/5.0.9/css/fileinput.min.css" media="all" rel="stylesheet" type="text/css" />
<script src="https://code.jquery.com/jquery-3.3.1.min.js" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-fileinput/5.0.9/js/fileinput.min.js"></script>
<!--end of drag and drop-->
  • قم ببناء التطبيق وتشغيله في متصفحك.
ASP.NET Word Document Merger

تحميل

قم بتنزيل الكود المصدري لتطبيق ASP.NET Word Document Merger من هنا.

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

احصل على ترخيص مؤقت(ترخيص كامل لمدة 30 يومًا) لتجربة Aspose.Words for .NET مجانًا.

مقالات لها صلة