Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
בעבודה עם מסמכים, חשוב להיות מסוגלים לחלץ תוכן בקלות מטווח ספציפי בתוך מסמך. עם זאת, התוכן עשוי להיות מורכב מאלמנטים מורכבים כגון פסקאות, טבלאות, תמונות וכו'.
לא משנה איזה תוכן צריך לחלץ, השיטה לחלץ את התוכן הזה תמיד תיקבע על ידי אילו צמתים נבחרים לחלץ תוכן בין. אלה יכולים להיות גופי טקסט שלמים או ריצות טקסט פשוטות.
ישנם מצבים אפשריים רבים ולכן סוגים רבים ושונים של צמתים שיש לקחת בחשבון בעת חילוץ תוכן. לדוגמה, ייתכן שתרצה לחלץ תוכן בין:
במצבים מסוימים, ייתכן שתצטרך אפילו לשלב סוגי צמתים שונים, כגון חילוץ תוכן בין פסקה לשדה, או בין ריצה לסימניה.
מאמר זה מספק את יישום הקוד לחילוץ טקסט בין צמתים שונים, כמו גם דוגמאות לתרחישים נפוצים.
לעתים קרובות המטרה של חילוץ התוכן היא לשכפל או לשמור אותו בנפרד במסמך חדש. לדוגמה, אתה יכול לחלץ תוכן ו:
ניתן להשיג זאת בקלות באמצעות Aspose.Words ויישום הקוד למטה.
הקוד בסעיף זה מתייחס לכל המצבים האפשריים שתוארו לעיל בשיטה אחת כללית וניתנת לשימוש חוזר. המתאר הכללי של טכניקה זו כרוך:
כדי לחלץ את התוכן מהמסמך שלך עליך להתקשר לשיטת ExtractContent למטה ולהעביר את הפרמטרים המתאימים. הבסיס הבסיסי של שיטה זו כולל מציאת צמתים ברמת הבלוק (פסקאות וטבלאות) ושיבוטם ליצירת עותקים זהים. אם נקודות הסמן שעברו הן ברמת הבלוק, השיטה מסוגלת פשוט להעתיק את התוכן ברמה זו ולהוסיף אותו למערך.
עם זאת, אם נקודות הסמן הן בשורה (ילד של פסקה) אז המצב הופך מורכב יותר, שכן יש צורך לפצל את הפסקה בנקודה בשורה, בין אם זה ריצה, שדות סימניות וכו'. תוכן בצמתים האב המשובטים שאינם קיימים בין הסמנים מוסר. תהליך זה משמש כדי להבטיח שהצמתים המוטבעים עדיין ישמרו על העיצוב של פסקת האב. השיטה גם תפעיל בדיקות על הצמתים שהועברו כפרמטרים וזורקת חריג אם אחד הצמתים אינו חוקי. הפרמטרים שיש להעביר לשיטה זו הם:
StartNode ו EndNode. שני הפרמטרים הראשונים הם הצמתים המגדירים היכן מיצוי התוכן אמור להתחיל ולסיים בהתאמה. הצמתים האלה יכולים להיות גם ברמת בלוק (פסקה, טבלה ) וגם ברמת קו (למשל ריצה, FieldStart, BookmarkStart וכו').):
IsInclusive. מגדיר אם הסמנים כלולים בחילוץ או לא. אם אפשרות זו מוגדרת כשקר ואותו צומת או צמתים עוקבים מועברים, תוחזר רשימה ריקה:
יישום השיטה ExtractContent אתה יכול למצוא כאן. שיטה זו תופנה בתרחישים במאמר זה.
אנו גם להגדיר שיטה מותאמת אישית כדי ליצור בקלות מסמך מן הצמתים שחולצו. שיטה זו משמשת ברבים מהתרחישים שלהלן ופשוט יוצרת מסמך חדש ומייבאת לתוכו את התוכן שחולץ.
דוגמת הקוד הבאה מראה כיצד לקחת רשימה של צמתים ולהכניס אותם למסמך חדש.
זה מדגים כיצד להשתמש בשיטה לעיל כדי לחלץ תוכן בין פסקאות ספציפיות. במקרה זה, אנחנו רוצים לחלץ את הגוף של המכתב נמצא במחצית הראשונה של המסמך. אנו יכולים לומר שזה בין הפסקאות 7 ל -11.
הקוד הבא מבצע משימה זו. הפסקאות המתאימות מופקות בשיטת GetChild במסמך ומעבירות את המדדים שצוינו. לאחר מכן אנו מעבירים את הצמתים הללו לשיטת ExtractContent ומצהירים כי יש לכלול אותם בחילוץ. שיטה זו תחזיר את התוכן המועתק בין צמתים אלה אשר מוכנסים לאחר מכן למסמך חדש.
דוגמת הקוד הבאה מראה כיצד לחלץ את התוכן בין פסקאות ספציפיות בשיטת ExtractContent לעיל:
אנו יכולים לחלץ תוכן בין כל שילוב של צמתים ברמת בלוק או מוטבעים. בתרחיש זה להלן נחלץ את התוכן בין הפסקה הראשונה לטבלה בחלק השני באופן כולל. אנו מקבלים את צמתי הסמנים על ידי קריאה Body.FirstParagraph ו GetChild שיטה בחלק השני של המסמך כדי לאחזר את צמתי הפסקה והטבלה המתאימים. עבור וריאציה קלה בואו במקום לשכפל את התוכן ולהכניס אותו מתחת המקורי.
דוגמת הקוד הבאה מראה כיצד לחלץ את התוכן בין פסקה לטבלה בשיטת ExtractContent:
ייתכן שיהיה עליך לחלץ את התוכן בין פסקאות של סגנונות זהים או שונים, כגון בין פסקאות המסומנות בסגנונות כותרת. הקוד שלהלן מראה כיצד להשיג זאת. זוהי דוגמה פשוטה שתוציא את התוכן בין הדוגמה הראשונה של סגנונות “Heading 1” ו “כותרת 3” מבלי להוציא גם את הכותרות. לשם כך אנו מגדירים את הפרמטר האחרון לשקר, המציין כי אין לכלול את צמתי הסמן.
ביישום נכון, יש להפעיל זאת בלולאה כדי לחלץ תוכן בין כל הפסקאות של סגנונות אלה מהמסמך. התוכן שחולץ מועתק למסמך חדש.
דוגמת הקוד הבאה מראה כיצד לחלץ תוכן בין פסקאות עם סגנונות ספציפיים בשיטת ExtractContent:
ניתן לחלץ תוכן בין צמתים מוטבעים כגון Run גם כן. Runs מפסקאות שונות ניתן להעביר כסמנים. הקוד שלהלן מראה כיצד לחלץ טקסט ספציפי בין אותו צומת Paragraph.
דוגמת הקוד הבאה מראה כיצד לחלץ תוכן בין ריצות ספציפיות של אותה פסקה בשיטת ExtractContent:
כדי להשתמש בשדה כסמן, יש להעביר את הצומת FieldStart. הפרמטר האחרון לשיטת ExtractContent יגדיר אם יש לכלול את כל השדה או לא. בואו נחלץ את התוכן בין שדה המיזוג “FullName " לפסקה במסמך. אנו משתמשים בשיטת MoveToMergeField של DocumentBuilder כיתה. פעולה זו תחזיר את הצומת FieldStart משם שדה המיזוג שהועבר אליו.
במקרה שלנו, בואו נקבע את הפרמטר האחרון שהועבר לשיטת ExtractContent לא נכון כדי להוציא את השדה מהחילוץ. אנו נעביר את התוכן שחולץ ל PDF.
דוגמת הקוד הבאה מראה כיצד לחלץ תוכן בין שדה מסוים לפסקה במסמך באמצעות שיטת ExtractContent:
במסמך, התוכן המוגדר בתוך סימניה מכוסה על ידי הצמתים BookmarkStart ו - BookmarkEnd. התוכן שנמצא בין שני הצמתים הללו מהווה את הסימנייה. אתה יכול להעביר את אחד הצמתים האלה כמו כל סמן, אפילו אלה מסימניות שונות, כל עוד סמן ההתחלה מופיע לפני סמן הסיום במסמך. אנו נחלץ תוכן זה למסמך חדש באמצעות הקוד שלהלן. האפשרות IsInclusive פרמטר מראה כיצד לשמור או לבטל את הסימנייה.
דוגמת הקוד הבאה מראה כיצד לחלץ את התוכן שהופנה לסימניה באמצעות שיטת ExtractContent:
הערה מורכבת מהצמתים CommentRangeStart, CommentRangeEnd והערות. כל הצמתים האלה מוטבעים. שני הצמתים הראשונים מכסים את התוכן במסמך שאליו מתייחסת ההערה, כפי שניתן לראות בצילום המסך למטה.
הצומת Comment עצמה היא InlineStory שיכולה להכיל פסקאות וריצות. הוא מייצג את המסר של ההערה כפי שנראה כבועת תגובה בחלונית התצוגה המקדימה. כמו הצומת הזה הוא מוטבע צאצא של גוף אתה יכול גם לחלץ את התוכן מתוך הודעה זו גם כן.
ההערה מכסה את הכותרת, הפסקה הראשונה והטבלה בחלק השני. בואו נחלץ את ההערה הזו למסמך חדש. האפשרות IsInclusive קובעת אם ההערה עצמה נשמרת או מושלכת.
דוגמת הקוד הבאה מראה כיצד לעשות זאת:
השתמש בכיתה DocumentVisitor כדי ליישם תרחיש שימוש זה. מחלקה זו תואמת את דפוס עיצוב המבקרים הידוע. באמצעות DocumentVisitor, ניתן להגדיר ולבצע פעולות מותאמות אישית הדורשות ספירה מעל עץ המסמך.
DocumentVisitor
כל שיטה DocumentVisitor.VisitXXX מחזירה ערך VisitorAction השולט בספירת הצמתים. אתה יכול לבקש להמשיך את הספירה, לדלג על הצומת הנוכחי (אבל להמשיך את הספירה), או להפסיק את ספירת הצמתים.
אלה השלבים שעליך לבצע כדי לקבוע ולחלץ באופן פרוגרמטי חלקים שונים במסמך:
Node.Accept בצומת שממנו ברצונך להתחיל את הספירה. לדוגמה, אם ברצונך למנות את המסמך כולו, השתמש ב Document.AcceptDocumentVisitor
דוגמה זו מראה כיצד להשתמש בתבנית המבקר כדי להוסיף פעולות חדשות למודל האובייקט Aspose.Words. במקרה זה, אנו יוצרים ממיר מסמכים פשוט לפורמט טקסט:
הדרכים לאחזור טקסט מהמסמך הן:
Node.GetText ו Node.ToStringמסמך Word יכול להכיל תווי בקרה המייעדים אלמנטים מיוחדים כגון שדה, סוף התא, סוף הקטע וכו'. הרשימה המלאה של תווי הבקרה האפשריים Word מוגדרת בכיתה ControlChar. השיטה Node.GetText מחזירה טקסט עם כל תווי תווי הבקרה הקיימים בצומת.
קריאה ToString מחזירה את ייצוג הטקסט הרגיל של המסמך רק ללא תווי בקרה.
דוגמת הקוד הבאה מראה את ההבדל בין קריאת השיטות GetText ו - ToString בצומת:
SaveFormat.Textדוגמה זו שומרת את המסמך באופן הבא:
דוגמת הקוד הבאה מראה כיצד לשמור מסמך בפורמט TXT:
ייתכן שיהיה עליך לחלץ תמונות מסמך כדי לבצע משימות מסוימות. Aspose.Words מאפשר לך לעשות זאת גם כן.
דוגמת הקוד הבאה מראה כיצד לחלץ תמונות ממסמך:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.