فك تشابك الإشارات المرجعية في مستند Word

في هذه المقالة، سنستكشف التعليمات البرمجية المصدر لـ C# أعلاه لفهم كيفية استخدام وظيفة Untangle Row Bookmarks في مكتبة Aspose.Words for .NET. تتيح هذه الوظيفة إمكانية وضع نهايات الإشارات المرجعية للسطور في نفس سطر بدايات الإشارات المرجعية.

المتطلبات الأساسية

  • المعرفة الأساسية بلغة C#.
  • بيئة تطوير .NET مع تثبيت مكتبة Aspose.Words.

الخطوة 1: تحميل الوثيقة

نحن نستخدم الDocument فئة لتحميل المستند الموجود من ملف:

string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "Table column bookmarks.docx");

الخطوة 2: كشف الإشارات المرجعية للخط

نحن نستخدم الUntangle وظيفة لفك الإشارات المرجعية من الصفوف. تقوم هذه الوظيفة بتنفيذ المهمة المخصصة المتمثلة في وضع نهايات سطور الإشارة المرجعية في نفس السطر الذي تبدأ فيه الإشارة المرجعية:

Untangle(doc);

الخطوة 3: حذف السطر حسب الإشارة المرجعية

نحن نستخدم الDeleteRowByBookmark وظيفة لحذف صف معين من خلال الإشارة المرجعية الخاصة به:

DeleteRowByBookmark(doc, "ROW2");

الخطوة 4: التحقق من سلامة الإشارات المرجعية الأخرى

نتحقق من عدم تلف الإشارات المرجعية الأخرى عن طريق التحقق مما إذا كانت نهاية الإشارة المرجعية لا تزال موجودة:

if (doc.Range.Bookmarks["ROW1"].BookmarkEnd == null)
throw new Exception("Wrong, the end of the bookmark was deleted.");

doc.Save(dataDir + "WorkingWithBookmarks.UntangleRowBookmarks.docx");

مثال على التعليمات البرمجية المصدر لـ Untangle Row Bookmarks باستخدام Aspose.Words لـ .NET

فيما يلي نموذج التعليمات البرمجية المصدر الكامل لفك تشابك الإشارات المرجعية من الأسطر التي تستخدم Aspose.Words لـ .NET:


	// المسار إلى دليل المستندات.
	string dataDir = "YOUR DOCUMENT DIRECTORY";
	Document doc = new Document(dataDir + "Table column bookmarks.docx");

	//يؤدي هذا إلى تنفيذ المهمة المخصصة المتمثلة في وضع نهايات الإشارة المرجعية للصف في نفس الصف مع بدء الإشارة المرجعية.
	Untangle(doc);

	// يمكننا الآن بسهولة حذف الصفوف حسب الإشارة المرجعية دون الإضرار بالإشارات المرجعية لأي صف آخر.
	DeleteRowByBookmark(doc, "ROW2");

	// هذا فقط للتأكد من عدم تلف الإشارة المرجعية الأخرى.
	if (doc.Range.Bookmarks["ROW1"].BookmarkEnd == null)
		throw new Exception("Wrong, the end of the bookmark was deleted.");

	doc.Save(dataDir + "WorkingWithBookmarks.UntangleRowBookmarks.docx");

فك شفرة المصدر


private void Untangle(Document doc)
        {
            foreach (Bookmark bookmark in doc.Range.Bookmarks)
            {
                // احصل على الصف الأصلي لكل من الإشارة المرجعية وعقدة نهاية الإشارة المرجعية.
                Row row1 = (Row) bookmark.BookmarkStart.GetAncestor(typeof(Row));
                Row row2 = (Row) bookmark.BookmarkEnd.GetAncestor(typeof(Row));

                // إذا تم العثور على كلا الصفين بشكل جيد، وتم تضمين بداية ونهاية الإشارة المرجعية في الصفوف المجاورة،
                // انقل عقدة نهاية الإشارة المرجعية إلى نهاية الفقرة الأخيرة في الخلية الأخيرة بالصف العلوي.
                if (row1 != null && row2 != null && row1.NextSibling == row2)
                    row1.LastCell.LastParagraph.AppendChild(bookmark.BookmarkEnd);
            }
        }

حذف كود المصدر الخاص بـDeleteRowByBookmark


 private void DeleteRowByBookmark(Document doc, string bookmarkName)
        {
            Bookmark bookmark = doc.Range.Bookmarks[bookmarkName];

            Row row = (Row) bookmark?.BookmarkStart.GetAncestor(typeof(Row));
            row?.Remove();
        }

خاتمة

في هذه المقالة، قمنا باستكشاف التعليمات البرمجية المصدر لـ C# لفهم كيفية استخدام ميزة Untangle Row Bookmarks في Aspose.Words for .NET. لقد اتبعنا دليلًا خطوة بخطوة لفك تشابك الإشارات المرجعية للصف وحذف صف معين دون الإضرار بالإشارات المرجعية الأخرى.

الأسئلة الشائعة حول فك تشابك الإشارات المرجعية في مستند Word

س: هل يعمل Unscramble Row Bookmarks فقط مع الإشارات المرجعية للصفوف في الجداول؟

ج: نعم، تم تصميم ميزة Untangle Row Bookmarks خصيصًا لفك تشابك الإشارات المرجعية للصفوف الموجودة في الجداول. يمكن استخدام هذه الوظيفة لمعالجة الإشارات المرجعية الخطية في المصفوفات والتأكد من أن نهايات الإشارة المرجعية في نفس السطر الذي تبدأ فيه الإشارة المرجعية.

س: هل تقوم وظيفة Unscramble Line Bookmarks بتعديل محتوى المستند الأصلي؟

ج: نعم، تعمل وظيفة فك تشفير الإشارات المرجعية على تعديل المستند الأصلي عن طريق تحريك نهايات إشارات السطر لوضعها في نفس السطر مثل بدايات الإشارات المرجعية. تأكد من حفظ نسخة احتياطية من المستند قبل تطبيق هذه الميزة.

س: كيف يمكنني تحديد الإشارات المرجعية الخطية في مستند Word الخاص بي؟

ج: يتم عادةً استخدام الإشارات المرجعية للصفوف في الجداول لوضع علامة على أقسام معينة. يمكنك تحديد الإشارات المرجعية للصف من خلال استعراض الإشارات المرجعية في المستند والتحقق لمعرفة ما إذا كانت الإشارات المرجعية موجودة في صفوف الجدول.

س: هل من الممكن فك تشابك الإشارات المرجعية في الجداول غير المتجاورة؟

ج: تم تصميم وظيفة Untangle Row Bookmarks كما هو موضح في هذه المقالة لفك تشابك الإشارات المرجعية للصفوف في الجداول المجاورة. لفك تشابك الإشارات المرجعية للصفوف في الجداول غير المتجاورة، قد يلزم إجراء تعديلات إضافية على التعليمات البرمجية اعتمادًا على بنية المستند.

س: ما هي المعالجات الأخرى التي يمكنني إجراؤها على الإشارات المرجعية للصفوف بمجرد كشفها؟

ج: بمجرد كشف الإشارات المرجعية للخط، يمكنك إجراء عمليات معالجة مختلفة حسب الحاجة. قد يشمل ذلك تحرير المحتوى أو حذفه أو إضافته إلى الأسطر التي تم وضع إشارة مرجعية عليها. تأكد من التعامل مع الإشارات المرجعية الخطية بعناية لتجنب أي تأثير غير مرغوب فيه على بقية المستند.