ادغام چندین سند 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 یک API پردازش کلمه غنی از ویژگی است که به شما امکان می دهد اسناد MS Word را به راحتی پردازش کنید. همچنین به شما امکان می دهد چندین سند Word را در یک سند واحد در ASP.NET یا هر برنامه .NET/.NET Core ادغام کنید. Aspose.Words برای دات نت را می توان با استفاده از NuGet و همچنین به عنوان یک فایل DLL دانلود کرد.
PM> install-package Aspose.Words
ادغام اسناد MS Word در ASP.NET
مراحل زیر برای ایجاد یک برنامه ASP.NET است که به شما امکان می دهد دو یا چند سند Word (DOC/DOCX) را بدون استفاده از MS Office/Word ادغام کنید.
- یک ASP.NET Core Web Application در ویژوال استودیو ایجاد کنید.
- برنامه وب (Model-View-Controller) را از لیست الگو انتخاب کنید.
- Aspose.Words را برای دات نت از 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 مربوط به افزونه کشیدن و رها کردن را در تگ head فایل 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 را برای دات نت به صورت رایگان امتحان کنید
مجوز موقت خود را دریافت کنید (مجوز کامل برای 30 روز) تا Aspose.Words را برای دات نت به صورت رایگان امتحان کنید.