Menggabungkan Dokumen Word ASP.NET

Menggabungkan beberapa dokumen MS Word dapat berguna dalam berbagai skenario. Misalnya, dapat digunakan untuk menyimpan jenis dokumen yang serupa ke dalam satu file, menggabungkan beberapa dokumen sebelum dibagikan, dan seterusnya. Berbagai alat online tersedia yang memungkinkan Anda menggabungkan dokumen MS Word dengan cukup mudah, namun, bagaimana jika Anda ingin menambahkan fitur ini ke dalam aplikasi Anda sendiri? Untuk membuat Anda mencapai ini, saya akan menunjukkan cara menggabungkan dokumen MS Word (DOC/DOCX) menggunakan C# dalam aplikasi web ASP.NET Anda. Aplikasi Penggabungan Dokumen Word ini akan memiliki beberapa fitur berikut:

  • Menggabungkan Dokumen MS Word menjadi Dokumen Tunggal
  • Unduh Dokumen Word yang Digabung sebagai Format DOCX
  • Unduh Dokumen Word yang Digabung sebagai Format PDF

.NET API untuk Menggabungkan Dokumen MS Word di ASP.NET

Aspose.Words for .NET adalah API pengolah kata kaya fitur yang memungkinkan Anda memproses dokumen MS Word dengan mudah. Ini juga memungkinkan Anda untuk menggabungkan beberapa dokumen Word menjadi satu dokumen dalam ASP.NET atau aplikasi .NET/.NET Core apa pun. Aspose.Words for .NET dapat diinstal menggunakan NuGet serta diunduh sebagai file DLL.

PM> install-package Aspose.Words

Gabungkan Dokumen MS Word di ASP.NET

Berikut ini adalah langkah-langkah untuk membuat aplikasi ASP.NET yang memungkinkan Anda menggabungkan dua atau lebih dokumen Word (DOC/DOCX) tanpa menggunakan MS Office/Word.

  • Buat Aplikasi Web Inti ASP.NET di Visual Studio.
Buat Aplikasi Web Inti ASP.NET
  • Pilih Aplikasi Web (Model-View-Controller) dari daftar template.
Pilih Aplikasi MVC
  • Instal Aspose.Words for .NET dari NuGet Package Manager atau Package Manager Console.
.NET API untuk Perbandingan Kata
  • Sisipkan skrip berikut di file index.cshtml Anda.
@{
    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>
    // Seret dan lepas opsi plugin
    $("#input-id").fileinput({ 'mainClass': "input-group-lg", 'showBrowse': true, 'showUpload': false, 'previewFileType': 'any', 'showClose': false, 'maxFileCount': 5, });
</script>
  • Masukkan kode berikut di kelas HomeController.cs Anda.
public FileResult UploadFiles(List<IFormFile> files, string outputFormat)
{
	if (files.Count() <= 1)
	{
		// menampilkan beberapa pesan
		return null;
	}
	string fileName = "merged-document.docx";
	string path = "wwwroot/uploads";
	List<Document> documents = new List<Document>();
	// unggah berkas 
	foreach (IFormFile file in files)
	{
		string filePath = Path.Combine(path, file.FileName);
		// Simpan file
		using (var stream = new FileStream(filePath, FileMode.Create))
		{
			file.CopyTo(stream);
		}
		// Tambahkan semua dokumen ke daftar
		documents.Add(new Document(filePath));
	}
	// Muat dokumen Word pertama
	Document doc1 = documents[0];
	for (int i = 1; i < documents.Count(); i++)
	{
    // Menggabungkan dokumen Word
		doc1.AppendDocument(documents[i], ImportFormatMode.KeepSourceFormatting);
	}           

	var outputStream = new MemoryStream(); 
	if (outputFormat == "DOCX")
	{
		doc1.Save(outputStream, SaveFormat.Docx);
		outputStream.Position = 0;
		// Kembalikan file Word yang dihasilkan
		return File(outputStream, System.Net.Mime.MediaTypeNames.Application.Rtf, fileName);
	}
	else
	{
		fileName = "merged-document.pdf";
		doc1.Save(outputStream, SaveFormat.Pdf);
		outputStream.Position = 0;
		// Kembalikan file PDF yang dihasilkan
		return File(outputStream, System.Net.Mime.MediaTypeNames.Application.Pdf, fileName);
	}
}
  • Sertakan file JS dan CSS plugin drag and drop berikut di dalam tag head file 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-->
  • Bangun aplikasi dan jalankan di browser Anda.
Penggabungan Dokumen ASP.NET Word

Unduh

Unduh kode sumber aplikasi ASP.NET Word Document Merger dari di sini.

Coba Aspose.Words for .NET Gratis

Dapatkan [lisensi sementara] Anda 6 (lisensi lengkap selama 30 hari) untuk mencoba Aspose.Words for .NET secara gratis.

Artikel Terkait