פיצול מסמך
Splitting או *חלק מסמך * הוא תהליך של העברת מסמך גדול למספר גדול יותר של קבצים קטנים יותר. ישנן סיבות שונות לחלק קובץ. לדוגמה, אתה צריך רק כמה דפים מתוך מסמך ספציפי ולא את כל אחד. או מסיבות פרטיות, אתה רוצה לשתף רק חלקים של מסמך עם אחרים. עם התכונה פיצול, אתה יכול לקבל רק את החלקים הדרושים של המסמך ולעשות את הפעולות הדרושות איתם, למשל, כדי לסמן, לחסוך או לשלוח.
Aspose.Words מספק לך דרך יעילה לפצל מסמך אחד למסמכים מרובים על ידי כותרות או קטעים. אתה יכול גם לפצל מסמך על ידי דפים או על ידי טווחי דפים. שתי אפשרויות פיצול תואר במאמר זה.
להפיץ מסמך לקבצים קטנים יותר באמצעות Aspose.Words, צריך לעקוב אחר השלבים הבאים:
1.1 1. לטעון את המסמך בכל פורמט נתמך. 1.1 1. חלקו את המסמך 1.1 1. שמור את מסמכי הפלט
לאחר שתפיצו מסמך, תוכלו לפתוח את כל מסמכי התפוקה שיתחילו עם הדפים הדרושים, הטקסט וכו ‘.
נסה באינטרנט
אתה יכול לנסות את הפונקציונליות שלנו מסמך מקוון חינם מפוצל.
להפיץ מסמך באמצעות קריטריה שונה
Aspose.Words מאפשר לחלק את מסמכי EPUB או HTML לפרקים לפי קריטריונים שונים. בתהליך, סגנון הפריסה של מסמך המקור נשמרים עבור מסמכי הפלט.
ניתן לציין קריטריונים באמצעות DocumentSplitCriteria אזהרה. אז אתה יכול לחלק מסמך לפרקים באמצעות אחד הקריטריונים הבאים או לשלב יותר מקריטריונים אחד יחד:
- כותרת סעיף,
- הפסקה,
- עמודה Break,
- דף נשבר
בעת שמירת הפלט ל-HTML, Aspose.Words שמור כל פרק בנפרד כקובץ HTML נפרד. כתוצאה מכך, המסמך יתפצל לקבצי HTML מרובים. בעת שמירת הפלט ל- EPUB, Aspose.Words שמור את התוצאה בקובץ EPUB יחיד ללא קשר DocumentSplitCriteria הערך שהשתמשת בו. אז, באמצעות DocumentSplitCriteria עבור מסמכי EPUB משפיע רק על המראה של התוכן שלהם באפליקציות קורא: תוכן יחולק לפרקים והמסמכים כבר לא יופיעו רצופים.
בסעיף זה, אנו רואים רק חלק מהקריטריונים המפוזרים האפשריים.
להפיץ מסמך על ידי כותרות
כדי לחלק מסמך לפרקים על ידי כותרות, השתמש HEADING_PARAGRAPH הערך של document_split_criteria רכוש.
אם אתה צריך לפצל מסמך על ידי רמה מסוימת של פסקאות כותרות, כגון כותרות 1, 2, ו 3, השתמש גם document_split_heading_level רכוש. הפלט יחולק על ידי פסקאות המדוימות עם רמת הכותרת המפורטת.
לדוגמה הקוד הבא מראה כיצד לחלק מסמך לחלקים קטנים יותר על ידי הכותרת:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document(docs_base.my_dir + "Rendering.docx") | |
options = aw.saving.HtmlSaveOptions() | |
# Split a document into smaller parts, in this instance split by heading. | |
options.document_split_criteria = aw.saving.DocumentSplitCriteria.HEADING_PARAGRAPH | |
doc.save(docs_base.artifacts_dir + "SplitDocument.by_headings_html.html", options) |
אנא שימו לב לקריטריונים אלה, Aspose.Words תומך רק בשמירת פורמט HTML בעת פיצול.
בעת שמירת EPUB, המסמך אינו מחולק למספר קבצים, ויהיה רק קובץ פלט אחד.
להפיץ מסמך לפי סעיפים
Aspose.Words כמו כן, מאפשר לך להשתמש הפסקות סעיף כדי לחלק מסמכים ולהציל אותם ל- HTML. לשם כך, השתמש SECTION_BREAK כמו document_split_criteria:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
options = aw.saving.HtmlSaveOptions() | |
options.document_split_criteria = aw.saving.DocumentSplitCriteria.SECTION_BREAK |
יש דרך אחרת לפצל את מסמך המקור למסמכים מרובים של פלט, ואתה יכול לבחור כל פורמט פלט נתמך על ידי Aspose.Words.
הדוגמה הבאה של הקוד מראה כיצד לחלק מסמך לחלקים קטנים יותר על ידי הפסקות (ללא שימוש) document_split_criteria רכוש):
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document(docs_base.my_dir + "Big document.docx") | |
for i in range(0, doc.sections.count) : | |
# Split a document into smaller parts, in this instance, split by section. | |
section = doc.sections[i].clone() | |
newDoc = aw.Document() | |
newDoc.sections.clear() | |
newSection = newDoc.import_node(section, True).as_section() | |
newDoc.sections.add(newSection) | |
# Save each section as a separate document. | |
newDoc.save(docs_base.artifacts_dir + f"SplitDocument.by_sections_{i}.docx") | |
פיצול על ידי דפים
אתה יכול גם לפצל דף מסמך על ידי דף, על ידי טווחי דפים, או להתחיל עם מספרי העמוד המפורטים. במקרה כזה extract_pages השיטה יכולה לעשות את העבודה.
סעיף זה מתאר מספר מקרים של שימוש בחלוקת מסמכים על ידי דף באמצעות שימוש Document הכיתה וה extract_pages שיטה.
שתף מסמך בעמוד
Aspose.Words מאפשר לך לפצל דף מסמך מרובה עמודים על ידי דף.
הדוגמה הבאה של הקוד מראה כיצד לחלק מסמך ולהציל כל דף מסמך נפרד:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document(docs_base.my_dir + "Big document.docx") | |
pageCount = doc.page_count | |
for page in range(0, pageCount) : | |
# Save each page as a separate document. | |
extractedPage = doc.extract_pages(page, 1) | |
extractedPage.save(docs_base.artifacts_dir + f"SplitDocument.page_by_page_{page + 1}.docx") | |
פיצול מסמך על ידי Page Ranges
Aspose.Words מאפשר פיצול מסמך רב עמודים על ידי טווחי הדף. ניתן לחלק קובץ אחד לקבצים מרובים עם טווחי דפים שונים או רק לבחור טווח אחד ולהציל רק חלק זה של מסמך המקור. שים לב שאתה יכול לבחור את טווח העמוד על פי מספר העמוד המקסימלי והמינימום של המסמך.
הדוגמה הבאה של הקוד מראה כיצד לחלק מסמך לחלקים קטנים יותר על ידי טווח הדף עם התחלות ספציפיות ואינדקסי קצה:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document(docs_base.my_dir + "Big document.docx") | |
# Get part of the document. | |
extractedPages = doc.extract_pages(3, 6) | |
extractedPages.save(docs_base.artifacts_dir + "SplitDocument.by_page_range.docx") |
שתף את מסמך הפיצול עם קובץ אחר
Aspose.Words מאפשר לך למזג את מסמך הפיצול עם מסמך אחר כדי ליצור מסמך חדש. ניתן לקרוא לזה מסמך מיזוג.
דוגמה לקוד הבא מראה כיצד למזג מסמך מפוצל עם מסמך אחר:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
@staticmethod | |
def merge_documents() : | |
# Find documents using for merge. | |
documentPaths = [f for f in os.listdir(docs_base.artifacts_dir) if (os.path.isfile(os.path.join(docs_base.artifacts_dir, f)) and f.find("SplitDocument.page_by_page_") >= 0)] | |
sourceDocumentPath = os.path.join(docs_base.artifacts_dir, documentPaths[0]) | |
# Open the first part of the resulting document. | |
sourceDoc = aw.Document(sourceDocumentPath) | |
# Create a new resulting document. | |
mergedDoc = aw.Document() | |
mergedDocBuilder = aw.DocumentBuilder(mergedDoc) | |
# Merge document parts one by one. | |
for documentPath in documentPaths : | |
documentPath = os.path.join(docs_base.artifacts_dir, documentPath) | |
if (documentPath == sourceDocumentPath) : | |
continue | |
mergedDocBuilder.move_to_document_end() | |
mergedDocBuilder.insert_document(sourceDoc, aw.ImportFormatMode.KEEP_SOURCE_FORMATTING) | |
sourceDoc = aw.Document(documentPath) | |
mergedDoc.save(docs_base.artifacts_dir + "SplitDocument.merge_documents.docx") | |