Bagaimana untuk menghapuskan Halaman Putih dalam Word menggunakan C#
Tutorial cepat ini menerangkan bagaimana untuk menghapuskan halaman kosong daripada dokumen Word (DOCX, DOC, dan lain-lain) menggunakan C#. Proses ini melibatkan muat naik fail Word, menganalisis halaman individu, mengenal pasti halaman yang kosong dan akhirnya mencipta dokumen baru tanpa halaman putih.
Kelebihan Menghilangkan Halaman Putih Dalam Dokumen Word
Dokumen Pembersihan :- Meningkatkan kebolehbacaan dan profesionalisme.
Ukuran fail yang dikurangkan:- Penyimpanan yang berkesan dengan menghapuskan halaman yang tidak perlu.
Keupayaan automatik :- Ideal untuk membersihkan dokumen besar secara automatik.
Tag: persiapan persekitaran
- Visual Studio atau lain-lain .NET IDE.
- Aspose.Words ditambah melalui NuGet Package Manager.
Langkah-langkah panduan untuk menghapuskan halaman putih dalam Word menggunakan C#
Langkah 1 : Menyediakan persekitaran
Pemasangan perpustakaan Aspose.Words melalui pengurus pakej NuGet.
Install-Package Aspose.Words
Langkah 2: Muat turun dokumen perkataan
Muat turun fail Word asal anda menggunakan objek Kelas Dokumen.
Document originalDoc = new Document("WordFileWithBlankPages.docx");
Langkah 3: Mengekstrak setiap halaman secara berasingan
Melompat melalui setiap halaman dan mengekstrak masing-masing halaman ke dalam Dokumen yang berasingan untuk analisis.
int totalPages = originalDoc.PageCount;
for (int i = 0; i < totalPages; i++)
{
Document singlePageDoc = originalDoc.ExtractPages(i, 1);
// Analyze singlePageDoc in next steps
}
Langkah 4: Menganalisis dokumen satu halaman
Semak sama ada dokumen satu halaman mengandungi teks atau bentuk.
int shapesCounter = 0;
string pageText = "";
foreach (Section docSection in singlePageDoc.Sections)
{
pageText += docSection.Body.ToString(SaveFormat.Text);
shapesCounter += docSection.Body.GetChildNodes(NodeType.Shape, true).Count;
}
Langkah 5: Mengekalkan senarai halaman yang tidak kosong
Ikuti nombor halaman yang mengandungi kandungan.
ArrayList blankPages = new ArrayList();
blankPages.Add(-1);
if (string.IsNullOrEmpty(pageText.Trim()) && shapesCounter == 0)
blankPages.Add(i); // i is page index in loop
Langkah 6: Menambah halaman bukan kosong ke dokumen baru
Mencipta dokumen baru dan melampirkan hanya halaman yang tidak kosong menggunakan senarai yang dipantau.
Document finalDoc = (Document)originalDoc.Clone(false);
finalDoc.RemoveAllChildren();
blankPages.Add(totalPages);
for (int i = 1; i < blankPages.Count; i++)
{
int index = (int)blankPages[i - 1] + 1;
int count = (int)blankPages[i] - index;
if (count > 0)
finalDoc.AppendDocument(originalDoc.ExtractPages(index, count), ImportFormatMode.KeepSourceFormatting);
}
Langkah 7: Simpan dokumen yang diubah suai
Simpan dokumen baru dengan halaman putih yang dihapuskan.
finalDoc.Save(@"cleaned.docx");
Contoh Kod Lengkap Untuk Menghapus Halaman Putih Dalam Word Dengan C#
Berikut ialah contoh lengkap kod yang boleh dijalankan yang menunjukkan langkah-langkah di atas:
Document originalDoc = new Document("WordFileWithBlankPages.docx");
ArrayList blankPages = new ArrayList();
blankPages.Add(-1);
int totalPages = originalDoc.PageCount;
for (int i = 0; i < totalPages; i++)
{
Document singlePageDoc = originalDoc.ExtractPages(i, 1);
int shapesCounter = 0;
string pageText = "";
foreach (Section docSection in singlePageDoc.Sections)
{
pageText += docSection.Body.ToString(SaveFormat.Text);
shapesCounter += docSection.Body.GetChildNodes(NodeType.Shape, true).Count;
}
if (string.IsNullOrEmpty(pageText.Trim()) && shapesCounter == 0)
blankPages.Add(i);
}
blankPages.Add(totalPages);
Document finalDoc = (Document)originalDoc.Clone(false);
finalDoc.RemoveAllChildren();
for (int i = 1; i < blankPages.Count; i++)
{
int index = (int)blankPages[i - 1] + 1;
int count = (int)blankPages[i] - index;
if (count > 0)
finalDoc.AppendDocument(originalDoc.ExtractPages(index, count), ImportFormatMode.KeepSourceFormatting);
}
finalDoc.Save(@"NonEmptyPages.docx");
System.Console.WriteLine("Blank pages removed successfully.");
Conclusion
Artikel ini menjelaskan bagaimana untuk menghapuskan halaman kosong dalam fail Word menggunakan C#. Dengan mengikuti langkah-langkah yang disediakan, anda boleh secara programmatik mendeteksi dan memadamkan laman kosong, yang membawa kepada dokumen yang lebih bersih.