قد يكون دمج مستندات 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.
- اختر تطبيق الويب (Model-View-Controller) من قائمة القوالب.
- قم بتثبيت Aspose.Words for .NET من NuGet Package Manager أو Package Manager Console.
- أدخل البرنامج النصي التالي في ملف 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 من هنا.
جرب Aspose.Words for .NET مجانًا
احصل على ترخيص مؤقت(ترخيص كامل لمدة 30 يومًا) لتجربة Aspose.Words for .NET مجانًا.