ادغام اسناد 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 یک 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 در ویژوال استودیو ایجاد کنید.
ASP.NET Core Web Application بسازید
  • برنامه وب (Model-View-Controller) را از لیست الگو انتخاب کنید.
برنامه MVC را انتخاب کنید
  • Aspose.Words را برای دات نت از 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 مربوط به افزونه کشیدن و رها کردن را در تگ 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

دانلود

کد منبع برنامه ASP.NET Word Document Merger را از اینجا دانلود کنید.

Aspose.Words را برای دات نت به صورت رایگان امتحان کنید

مجوز موقت خود را دریافت کنید (مجوز کامل برای 30 روز) تا Aspose.Words را برای دات نت به صورت رایگان امتحان کنید.

مقاله مرتبط