פיצול מסמכי Word C++

MS Word הוא פורמט פופולרי לאחסון ושיתוף מידע. יתכנו תרחישים שבהם תרצה לפצל מסמך Word למספר קבצים. לדוגמה, מסמך עשוי להכיל חלקים שונים שצריך לשתף עם אנשים שונים או להכיל מידע סודי שיש להפריד. במקרים כאלה, פיצול מסמך ה-Word מוכיח את עצמו כמועיל. במאמר זה תלמדו כיצד לפצל מסמכי MS Word באמצעות C++.

C++ API לפיצול מסמכי Word

Aspose.Words for C++ היא ספריית C++ מקורית המאפשרת לך ליצור, לשנות ולהמיר מסמכי Microsoft Word. בנוסף, הוא תומך גם בפיצול מסמכי Word למספר קבצים. אתה יכול להתקין את ה-API דרך NuGet או להוריד אותו ישירות מהקטע הורדות.

PM> Install-Package Aspose.Words.Cpp

פיצול מסמכי Word לפי עמוד באמצעות C++

להלן השלבים לפיצול קובצי Word באמצעות C++.

  • טען את מסמך Word באמצעות המחלקה Document.
  • צור מופע של המחלקה DocumentPageSplitter ואתחול אותו עם האובייקט Document שנוצר בשלב הקודם.
  • עברו בלולאה בין דפי המסמך.
  • חלץ כל עמוד בשיטת DocumentPageSplitter.GetDocumentOfPage(int32t PageIndex).
  • שמור את המסמכים בשיטת מסמך->שמור (System::String fileName).

להלן הקוד לדוגמה לפיצול מסמך Word לפי עמוד.

// מסמך Word לדוגמה
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// טען את מסמך ה-Word
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// צור ואתחול מפצל דפי מסמכים
DocumentPageSplitter splitter = DocumentPageSplitter(document);

// נתיב קובץ פלט
System::String outputPath = u"OutputDirectory\\";

// שמור כל עמוד כמסמך נפרד
for (int page = 1; page <= document->get_PageCount(); page++)
{
    auto pageDoc = splitter.GetDocumentOfPage(page);
    pageDoc->Save(outputPath + u"SplitDocumentPageByPageOut_" + System::Convert::ToString(page) + u".docx");
}

השתמש בטווח עמודים כדי לפצל מסמך Word

במקום להפריד כל עמוד ועמוד, אתה יכול גם לפצל את מסמך Word על ידי מתן טווח עמודים. להלן השלבים לפיצול מסמך Word באמצעות טווח דפים.

  • ראשית, טען את מסמך Word באמצעות המחלקה Document.
  • צור מופע של המחלקה DocumentPageSplitter ואתחל אותו עם האובייקט Document של השלב הקודם.
  • אחזר את הדפים בטווח הנדרש באמצעות השיטה DocumentPageSplitter.GetDocumentOfPageRange(int32t pageIndex, int32t pageIndex).
  • לבסוף, שמור את מסמך Word באמצעות השיטה מסמך->שמור (System::String fileName).

להלן הקוד לדוגמה לפיצול מסמך Word באמצעות טווח דפים.

// מסמך Word לדוגמה
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// טען את מסמך ה-Word
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// צור ואתחול מפצל דפי מסמכים
DocumentPageSplitter splitter = DocumentPageSplitter(document);

// קבל את טווח הדפים
auto pageDoc = splitter.GetDocumentOfPageRange(2, 3);

// נתיב קובץ פלט
System::String outputPath = u"OutputDirectory\\";

// שמור כקובץ DOCX
pageDoc->Save(outputPath + u"SplitDocumentByPageRangeOut.docx");

פיצול מסמך Word לפי מקטעים באמצעות C++

קובצי Word יכולים להכיל קטע אחד או יותר שעשוי להיות בעל עיצוב שונה ועשויים להיות מורכבים מכל מספר עמודים. כדי להוסיף מקטע חדש בקובץ ה-Word, השתמש באפשרות פריסה>הפסקות>מעברי מקטעים. להלן השלבים לפיצול קובצי Word לפי קטעים באמצעות Aspose.Words for C++ API.

להלן הקוד לדוגמה לפיצול מסמכי Word לפי מקטעים.

// מסמך וורד לדוגמה
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";

// טען את מסמך ה-Word
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);

// נתיב קובץ פלט
System::String outputPath = u"OutputDirectory\\";

for (int i = 0; i < document->get_Sections()->get_Count(); i++)
{
    // פצל מסמך לחלקים קטנים יותר, במקרה זה מפוצל לפי סעיף
    auto section = document->get_Sections()->idx_get(i)->Clone();

    // צור מסמך חדש
    auto newDoc = System::MakeObject<Aspose::Words::Document>();
    newDoc->get_Sections()->Clear();

    //הוסף קטע חדש למסמך החדש שנוצר
    auto newSection = System::StaticCast<Aspose::Words::Section>(newDoc->ImportNode(section, true));
    newDoc->get_Sections()->Add(newSection);

    // שמור כל חלק כמסמך נפרד
    newDoc->Save(outputPath + u"SplitDocumentBySectionsOut_" + System::Convert::ToString(i) + u".docx");
}

קבל רישיון חינם

אתה יכול לנסות את ה-API ללא מגבלות הערכה על ידי בקשת [רישיון זמני בחינם].18

סיכום

במאמר זה, למדת כיצד לפצל מסמכי Word למספר קבצים באמצעות C++. למדת כיצד להשתמש ב-Aspose.Words עבור C++ API כדי לפצל מסמכי Word לפי עמודים, טווח עמודים ומקטעים. אתה יכול לחקור את ה-API בפירוט על ידי שימוש בתיעוד הרשמי. אם יש לך שאלות, אל תהסס לפנות אלינו בפורום.

ראה גם