แก้ให้หายยุ่งที่คั่นหน้าแถวในเอกสาร Word
ในบทความนี้ เราจะสำรวจซอร์สโค้ด C# ด้านบนเพื่อทำความเข้าใจวิธีใช้ฟังก์ชัน Untangle Row Bookmarks ในไลบรารี Aspose.Words สำหรับ .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");
ตัวอย่างซอร์สโค้ดสำหรับแก้ให้หายยุ่งแถวบุ๊กมาร์กโดยใช้ 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 สำหรับ .NET เราทำตามคำแนะนำทีละขั้นตอนเพื่อแก้ให้หายยุ่งบุ๊กมาร์กแถวและลบแถวใดแถวหนึ่งโดยไม่ทำให้บุ๊กมาร์กอื่นเสียหาย
คำถามที่พบบ่อยสำหรับการแก้ให้หายยุ่งบุ๊กมาร์กแถวในเอกสารคำ
ถาม: Unscramble Row Bookmarks ใช้งานได้กับบุ๊กมาร์กแถวในตารางเท่านั้นหรือไม่
ตอบ: ได้ คุณลักษณะ Untangle Row Bookmarks ได้รับการออกแบบมาโดยเฉพาะเพื่อแก้ให้หายยุ่งที่คั่นหน้าแถวที่อยู่ในตาราง ฟังก์ชันนี้สามารถใช้เพื่อประมวลผลบุ๊กมาร์กบรรทัดในอาร์เรย์ และตรวจสอบให้แน่ใจว่าจุดสิ้นสุดของบุ๊กมาร์กอยู่ในบรรทัดเดียวกับที่บุ๊กมาร์กเริ่มต้น
ถาม: ฟังก์ชัน Unscramble Line Bookmarks แก้ไขเนื้อหาของเอกสารต้นฉบับหรือไม่
ตอบ: ได้ ฟังก์ชันบุ๊กมาร์กบรรทัด Unscramble จะแก้ไขเอกสารต้นฉบับโดยการย้ายส่วนท้ายของบุ๊กมาร์กบรรทัดเพื่อวางไว้ในบรรทัดเดียวกับจุดเริ่มต้นของบุ๊กมาร์ก ตรวจสอบให้แน่ใจว่าได้บันทึกสำเนาสำรองของเอกสารก่อนที่จะใช้คุณสมบัตินี้
ถาม: ฉันจะระบุบุ๊กมาร์กบรรทัดในเอกสาร Word ได้อย่างไร
ตอบ: โดยทั่วไปแล้ว บุ๊กมาร์กแถวจะใช้ในตารางเพื่อทำเครื่องหมายส่วนเฉพาะ คุณสามารถระบุที่คั่นหน้าแถวได้โดยการเรียกดูผ่านที่คั่นหน้าในเอกสาร และตรวจสอบเพื่อดูว่าที่คั่นหน้าอยู่ในแถวของตารางหรือไม่
ถาม: เป็นไปได้ไหมที่จะแก้การพันกันของบุ๊กมาร์กแถวในตารางที่ไม่อยู่ติดกัน
ตอบ: ฟังก์ชัน Untangle Row Bookmarks ดังที่นำเสนอในบทความนี้ ได้รับการออกแบบมาเพื่อแก้ให้หายยุ่งที่คั่นหน้าแถวในตารางที่อยู่ติดกัน หากต้องการแยกบุ๊กมาร์กแถวในตารางที่ไม่อยู่ติดกัน อาจจำเป็นต้องมีการปรับเปลี่ยนโค้ดเพิ่มเติม ทั้งนี้ขึ้นอยู่กับโครงสร้างของเอกสาร
ถาม: ฉันสามารถดำเนินการอื่นใดกับบุ๊กมาร์กแถวได้เมื่อคลี่คลายแล้ว
ตอบ: เมื่อบุ๊กมาร์กบรรทัดถูกคลายออก คุณสามารถดำเนินการต่างๆ ได้ตามต้องการ ซึ่งอาจรวมถึงการแก้ไข การลบ หรือการเพิ่มเนื้อหาลงในบรรทัดที่บุ๊กมาร์ก ตรวจสอบให้แน่ใจว่าได้จัดการบุ๊กมาร์กบรรทัดด้วยความระมัดระวังเพื่อหลีกเลี่ยงผลกระทบที่ไม่พึงประสงค์ต่อส่วนที่เหลือของเอกสาร