Այս արագ ձեռնարկը նախատեսված է բացատրելու ինչպես հեռացնել դատարկ էջը Word-ից՝ օգտագործելով C#, ինչպես օրինակ՝ DOCX, DOC և այլն: առաջադրանք և օրինակելի կոդը, որն իրականացնում է Word-ի դատարկ էջը C#**-ի միջոցով **ջնջելու ամբողջական տրամաբանությունը: Դուք կարող եք գործարկել այս կոդը՝ առանց որևէ երրորդ կողմի ծրագրակազմ տեղադրելու՝ օգտագործելով Windows, Linux կամ macOS օպերացիոն համակարգերից որևէ մեկը:
Word-ում դատարկ էջը C#-ով ջնջելու քայլեր
- Կազմաձևեք նախագիծը՝ նախագծում Aspose.Words գրադարան ավելացնելու համար
- Բեռնեք սկզբնաղբյուր Word ֆայլը Document դասի օբյեկտում՝ դատարկ էջերը հեռացնելու համար
- Վերլուծեք սկզբնաղբյուր փաստաթղթի բոլոր էջերը և վերցրեք յուրաքանչյուր էջ առանձին
- Ստեղծեք առանձին փաստաթուղթ յուրաքանչյուր էջով միայն սկզբնաղբյուր փաստաթղթից
- Վերլուծեք այս մեկ էջի փաստաթուղթը և ստուգեք՝ արդյոք որևէ section պարունակում է որևէ տեքստ/ձևային հանգույց, թե ոչ։
- Պահպանեք բնօրինակ փաստաթղթի բոլոր ոչ դատարկ էջերի ցանկը
- Կցեք բոլոր ոչ դատարկ էջերը նոր Word ֆայլին
- Պահպանեք այս ֆայլը՝ ունենալով էջեր միայն որոշ տեքստով կամ ձևով
Այս քայլերը մանրամասներ են տալիս Word-ի դատարկ էջը C#*-ով ջնջելու համար: Նախ, դուք բեռնում եք սկզբնաղբյուր Word ֆայլը և այնուհետև վերլուծում դրա յուրաքանչյուր էջն այնպես, որ յուրաքանչյուր էջի համար ստեղծվի նոր Word փաստաթուղթ: Դա պահանջվում է, քանի որ մենք պետք է վերլուծենք յուրաքանչյուր էջ առանձին, և Document դասի առանձնահատկությունները կօգնեն մեզ բացահայտել ոչ դատարկ էջերը: Վերլուծման ընթացքում յուրաքանչյուր ոչ դատարկ էջ ավելացվում է նոր Word ֆայլում, որը կպարունակի բոլոր նման էջերը:
Կոդ՝ Word-ի դատարկ էջը C#-ով ջնջելու համար
using System.Collections; | |
using Aspose.Words; | |
namespace DeleteABlankPageInWordUsingCSharp | |
{ | |
class Program | |
{ | |
static void Main(string[] args) // Main function to delete a blank page in Word using CSharp | |
{ | |
// Instantiate the license to avoid any trial version limitations | |
// and watermark in the output Word file | |
Aspose.Words.License licDeleteBlankPages= new Aspose.Words.License(); | |
licDeleteBlankPages.SetLicense("Aspose.Words.lic"); | |
// Load the Word file having blank pages in it | |
Document originalDocWithFewBlankPages = new Document("WordFileWithBlankPages.docx"); | |
// Declare an array to store page numbers of the empty or blank pages | |
ArrayList listOfBlankPageNumbers = new ArrayList(); | |
listOfBlankPageNumbers.Add(-1); | |
// Extract each page of the loaded document as a separate Word document | |
int totalPagesInOriginalDoc = originalDocWithFewBlankPages.PageCount; | |
for (int iCount = 0; iCount < totalPagesInOriginalDoc; iCount++) | |
{ | |
// Create a new Word document containing the single page | |
Document DocWithOnePage = originalDocWithFewBlankPages.ExtractPages(iCount, 1); | |
// Parse through all the sections of the newly created document | |
// to count text segments and shapes if any | |
int shapesCounter = 0; | |
string pageText = ""; | |
foreach (Section docSection in DocWithOnePage.Sections) | |
{ | |
// Extract text from the section and also get shapes count in the newly created document | |
pageText = pageText + docSection.Body.ToString(SaveFormat.Text); | |
shapesCounter += docSection.Body.GetChildNodes(NodeType.Shape, true).Count; | |
} | |
// Check if the extracted page is null or not and also check if shapes count is 0 or not | |
// If text is blank and shapes count is 0, it means the page is blank | |
if (string.IsNullOrEmpty(pageText.Trim()) && shapesCounter == 0) | |
listOfBlankPageNumbers.Add(iCount); | |
} | |
listOfBlankPageNumbers.Add(totalPagesInOriginalDoc); | |
// Add all the non-empty pages to the final document | |
Document nonEmptyDocument = (Document)originalDocWithFewBlankPages.Clone(false); | |
nonEmptyDocument.RemoveAllChildren(); | |
for (int iCount = 1; iCount < listOfBlankPageNumbers.Count; iCount++) | |
{ | |
int index = (int)listOfBlankPageNumbers[iCount - 1] + 1; | |
int count = (int)listOfBlankPageNumbers[iCount] - index; | |
if (count > 0) | |
nonEmptyDocument.AppendDocument(originalDocWithFewBlankPages.ExtractPages(index, count), ImportFormatMode.KeepSourceFormatting); | |
} | |
// Save the output file having all the non-empty pages | |
nonEmptyDocument.Save(@"NonEmptyPages.docx"); | |
System.Console.WriteLine("Done"); | |
} | |
} | |
} |
Word փաստաթղթից C#*-ի միջոցով դատարկ էջը հեռացնելու այս կոդը նկարագրում է ամբողջական տրամաբանությունը, որտեղ սկզբնաղբյուր Word ֆայլի յուրաքանչյուր էջ պահվում է նոր Word ֆայլում և այնուհետև վերլուծվում դրա ցանկացած բովանդակության համար: Այս գործընթացի ընթացքում վերնագրերն ու ստորագրերը հաշվի չեն առնվում, սակայն դուք կարող եք ներառել նաև դրանք: Երբ բոլոր էջերը վերլուծվում են և դրանց համարները պահվում են զանգվածում, այս զանգվածն օգտագործվում է այդ բոլոր էջերը նոր Word ֆայլին միացնելու համար:
Այս ձեռնարկում մենք հեռացրել ենք բոլոր դատարկ էջերը Word ֆայլից: Եթե ցանկանում եք սովորել որոշ այլ գործառույթներ, ինչպիսիք են Word փաստաթղթերը HTML-ի փոխակերպելը, տես ինչպես փոխարկել Word փաստաթուղթը HTML-ի՝ օգտագործելով C#-ի հոդվածը: