Ինչպես հեռացնել դատարկ էջը Word-ում C#-ով

Այս արագ ձեռնարկը նախատեսված է բացատրելու ինչպես հեռացնել դատարկ էջը Word-ից՝ օգտագործելով C#, ինչպես օրինակ՝ DOCX, DOC և այլն: առաջադրանք և օրինակելի կոդը, որն իրականացնում է Word-ի դատարկ էջը C#**-ի միջոցով **ջնջելու ամբողջական տրամաբանությունը: Դուք կարող եք գործարկել այս կոդը՝ առանց որևէ երրորդ կողմի ծրագրակազմ տեղադրելու՝ օգտագործելով Windows, Linux կամ macOS օպերացիոն համակարգերից որևէ մեկը:

Word-ում դատարկ էջը C#-ով ջնջելու քայլեր

  1. Կազմաձևեք նախագիծը՝ նախագծում Aspose.Words գրադարան ավելացնելու համար
  2. Բեռնեք սկզբնաղբյուր Word ֆայլը Document դասի օբյեկտում՝ դատարկ էջերը հեռացնելու համար
  3. Վերլուծեք սկզբնաղբյուր փաստաթղթի բոլոր էջերը և վերցրեք յուրաքանչյուր էջ առանձին
  4. Ստեղծեք առանձին փաստաթուղթ յուրաքանչյուր էջով միայն սկզբնաղբյուր փաստաթղթից
  5. Վերլուծեք այս մեկ էջի փաստաթուղթը և ստուգեք՝ արդյոք որևէ section պարունակում է որևէ տեքստ/ձևային հանգույց, թե ոչ։
  6. Պահպանեք բնօրինակ փաստաթղթի բոլոր ոչ դատարկ էջերի ցանկը
  7. Կցեք բոլոր ոչ դատարկ էջերը նոր Word ֆայլին
  8. Պահպանեք այս ֆայլը՝ ունենալով էջեր միայն որոշ տեքստով կամ ձևով

Այս քայլերը մանրամասներ են տալիս 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#-ի հոդվածը:

 Հայերեն