ใช้DocumentBuilderเพื่อแทรกองค์ประกอบของเอกสาร

Contents
[ ]

DocumentBuilderถูกใช้เพื่อแก้ไขเอกสาร บทความนี้อธิบายและอธิบายวิธีการดำเนินการจำนวนของงาน.

การแทรกสตริงข้อความ

เพียงแค่ผ่านสตริงข้อความที่คุณต้องแทรกลงในเอกสารไปยังวิธีการDocumentBuilder.write การจัดรูปแบบข้อความจะถูกกำหนดโดยคุณสมบัติFont วัตถุนี้มีแอตทริบิวต์แบบอักษรที่แตกต่างกัน(ชื่อแบบอักษรขนาดตัวอักษรสีและอื่นๆ) คุณลักษณะฟอนต์ที่สำคัญบางอย่างจะแสดงด้วยคุณสมบัติDocumentBuilderเพื่อให้คุณสามารถเข้าถึงได้โดยต เหล่านี้เป็นคุณสมบัติบูลีนFont.getBold,Font.getItalicและFont.getUnderline.

ตัวอย่างรหัสต่อไปนี้จะแทรกข้อความที่จัดรูปแบบโดยใช้DocumentBuilder.

การแทรกย่อหน้า

DocumentBuilder.เขียนแทรกสตริงของข้อความลงในเอกสารเช่นกันแต่นอกจากนี้จะเพิ่มตัวแบ่งย่อหน้า การฟอร์แมตแบบอักษรปัจจุบันจะถูกระบุโดยDocumentBuildergetFontคุณสมบัติและการจัดรูปแบบย่อหน้าปัจจุบันจะถูกกำหนดโดยDocumentBuildergetParagraphFormatทรัพย์สิน.

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการแทรกย่อหน้าลงในเอกสาร.

การใส่ตาราง

อัลกอริทึมพื้นฐานในการสร้างตารางโดยใช้DocumentBuilderเป็นเรื่องง่าย:

  1. เริ่มต้นตารางด้วยDocumentBuilder.startTable.
  2. แทรกเซลล์โดยใช้DocumentBuilder.insertCell นี้จะเริ่มต้นแถวใหม่โดยอัตโนมัติ หากจำเป็นให้ใช้คุณสมบัติDocumentBuilder.getCellFormatเพื่อระบุการจัดรูปแบบเซลล์.
  3. แทรกเนื้อหาของเซลล์โดยใช้วิธีการDocumentBuilder.
  4. ทำซ้ำขั้นตอนที่ 2 และ 3 จนกว่าแถวจะเสร็จสมบูรณ์.
  5. โทรDocumentBuilder.endRowเพื่อสิ้นสุดแถวปัจจุบัน หากจำเป็นให้ใช้คุณสมบัติDocumentBuilder.RowFormatเพื่อระบุการจัดรูปแบบแถว.
  6. ทำซ้ำขั้นตอนที่ 2-5 จนกว่าตารางจะเสร็จสมบูรณ์.
  7. โทรDocumentBuilder.endTableเพื่อเสร็จสิ้นการสร้างโต๊ะ วิธีการสร้างตารางDocumentBuilderที่เหมาะสมอธิบายไว้ด้านล่าง.

การเริ่มต้นตาราง

โทรDocumentBuilderstartTableเป็นขั้นตอนแรกในการสร้างโต๊ะ มันสามารถเรียกว่าภายในเซลล์ในกรณีนี้มันเริ่มต้นตารางที่ซ้อนกัน วิธีต่อไปในการโทรคือDocumentBuilderinsertCell.

การใส่เซลล์

หลังจากที่คุณโทรDocumentBuilderinsertCell,เซลล์ใหม่จะถูกสร้างขึ้นและเนื้อหาใดๆที่คุณเพิ่มโดยใช้วิธีการอื่นๆของชั้นเรียนDocumentBuilderจะถูกเพิ่มลงในเซลล์ปัจจุบัน ในการเริ่มเซลล์ใหม่ในแถวเดียวกันให้โทรDocumentBuilderinsertCellอีกครั้ง ใช้DocumentBuildergetCellFormatคุณสมบัติเพื่อระบุการจัดรูปแบบเซลล์ ออบเจกต์getCellFormatที่แสดงการจัดรูปแบบทั้งหมดสำหรับเซลล์ตาราง.

สิ้นสุดแถว

โทรDocumentBuilder.endRowเพื่อจบแถวปัจจุบัน ถ้าคุณโทรDocumentBuilderinsertCellทันทีหลังจากนั้นตารางยังคงอยู่ในแถวใหม่ ใช้คุณสมบัติDocumentBuilder.RowFormatเพื่อระบุการจัดรูปแบบแถว ออบเจกต์RowFormatที่แสดงการจัดรูปแบบทั้งหมดสำหรับแถวตาราง.

สิ้นสุดตาราง

โทรDocumentBuilderendTableเพื่อจบตารางปัจจุบัน วิธีนี้ควรจะเรียกว่าเพียงครั้งเดียวหลังจากDocumentBuilderendRowถูกเรียก เมื่อเรียกDocumentBuilderendTableเลื่อนเคอร์เซอร์ออกจากเซลล์ปัจจุบันไปยังตำแหน่งหลังตาราง ตัวอย่างต่อไปนี้แสดงให้เห็นถึงวิธีการสร้างตารางที่จัดรูปแบบที่มี 2 แถวและ 2 คอลัมน์.

การใส่ตัวหยุดพัก

หากคุณต้องการเริ่มต้นบรรทัดใหม่อย่างชัดเจนย่อหน้าคอลัมน์ส่วนหรือหน้าให้โทรDocumentBuilderinsertBreak. ส่งผ่านไปยังวิธีการนี้ชนิดของการหยุดพักที่คุณจำเป็นต้องแทรกที่จะแสดงโดยการแจงนับBreakType ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแทรกตัวแบ่งหน้าในเอกสาร.

การแทรกรูปภาพ

DocumentBuilderให้การโอเวอร์โหลดหลายวิธีของDocumentBuilder.insertImageที่ช่วยให้คุณสามารถแทรกรูปภาพแบบอินไลน์หรือแบบลอ หากรูปภาพเป็นEMFหรือWMFเมตาไฟล์จะถูกแทรกลงในเอกสารในรูปแบบเมตาไฟล์ ภาพอื่นๆทั้งหมดจะถูกเก็บไว้ในรูปแบบPNG DocumentBuilderinsertImageวิธีการสามารถใช้ภาพจากแหล่งที่มาที่แตกต่างกัน:

  • จากแฟ้มหรือURLโดยการส่งผ่านพารามิเตอร์สตริง
  • จากสตรีมโดยผ่านพารามิเตอร์Stream
  • จากอ็อบเจ็กต์รูปภาพโดยผ่านพารามิเตอร์รูปภาพ
  • จากอาร์เรย์ไบต์โดยผ่านพารามิเตอร์อาร์เรย์ไบต์
  • และอื่นๆ

แต่ละDocumentBuilderinsertImageวิธีการ,มีการโอเวอร์โหลดเพิ่มเติมซึ่งช่วยให้คุณสามารถแทรกภาพที่มีตัวเลือกต่อไปนี้:

  • อินไลน์หรือลอยตัวในตำแหน่งที่เฉพาะเจาะจง
  • ขนาดเปอร์เซ็นต์หรือขนาดที่กำหนดเอง

นอกจากนี้DocumentBuilderinsertImageวิธีส่งกลับวัตถุShapeที่เพิ่งสร้างและแทรกเพื่อให้คุณสามารถปรับเปลี่ยนคุณสมบัติของรูปร่าง.

การแทรกรูปภาพแบบอินไลน์

ส่งสตริงเดียวที่แสดงถึงไฟล์ที่มีรูปภาพเป็นDocumentBuilderinsertImageเพื่อแทรกรูปภาพลงในเอกสารเป็นกราฟิกแบบอินไลน์ ตัวอย่างรหัสต่อไปนี้แสดงวิธีการแทรกรูปภาพอินไลน์ที่ตำแหน่งเคอร์เซอร์ลงในเอกสาร.

การแทรกรูปภาพแบบลอยตัว(ตำแหน่งที่แน่นอน)

ตัวอย่างนี้แทรกรูปภาพที่ลอยจากแฟ้มหรือURLที่ตำแหน่งและขนาดที่ระบุ.

การใส่บุ๊กมาร์ก

เมื่อต้องการแทรกบุ๊กมาร์กลงในเอกสาร,คุณควรทำต่อไปนี้:

  1. โทรDocumentBuilder.startBookmarkผ่านชื่อที่ต้องการของบุ๊กมาร์ก.
  2. แทรกข้อความที่คั่นหน้าด้วยวิธีการDocumentBuilder.
  3. โทรDocumentBuilder.endBookmarkผ่านมันชื่อเดียวกันกับที่คุณใช้กับDocumentBuilderstartBookmark.

ที่คั่นหน้าสามารถทับซ้อนกันและขยายช่วงใดๆ ในการสร้างบุ๊กมาร์กที่ถูกต้องคุณจะต้องเรียกทั้งสองDocumentBuilderstartBookmarkและDocumentBuilderendBookmarkที่มีชื่อบุ๊กมาร์กเดียวกัน.

บุ๊คมาร์คที่เกิดขึ้นไม่ดีหรือบุ๊คมาร์คที่มีชื่อที่ซ้ำกันจะถูกละเว้นเมื่อเอกสารจะถูกบันทึกไว้.

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการแทรกบุ๊กมาร์กลงในเอกสารโดยใช้โปรแกรมสร้างเอกส.

การใส่ฟิลด์

ฟิลด์ในMicrosoft Wordเอกสารประกอบด้วยรหัสฟิลด์และผลลัพธ์ฟิลด์ รหัสฟิลด์เป็นเหมือนสูตรและผลลัพธ์ฟิลด์คือค่าที่สูตรผลิต รหัสฟิลด์อาจประกอบด้วยสวิตช์ฟิลด์ที่มีคำแนะนำเพิ่มเติมเพื่อดำเนินการดำเนินการเฉพา คุณสามารถสลับไปมาระหว่างการแสดงรหัสฟิลด์และผลลัพธ์ในเอกสารของคุณในMicrosoft Wordโดยใช้แป้นพิมพ์ลัด+F9 รหัสฟิลด์จะปรากฏระหว่างวงเล็บปีกกา({ })ใช้DocumentBuilder.insertFieldเพื่อสร้างฟิลด์ในเอกสาร คุณต้องระบุชนิดฟิลด์รหัสฟิลด์และค่าฟิลด์ หากคุณไม่แน่ใจเกี่ยวกับไวยากรณ์รหัสฟิลด์เฉพาะ,สร้างฟิลด์ในMicrosoft Wordก่อนและสลับเพื่อดูรหัสฟิลด์. ตัวอย่างรหัสต่อไปนี้แทรกฟิลด์ผสานลงในเอกสารโดยใช้DocumentBuilder.

การแทรกฟิลด์Form

เขตข้อมูลฟอร์มเป็นกรณีเฉพาะของเขตข้อมูลคำที่ช่วยให้"โต้ตอบ"กับผู้ใช้ ฟิลด์แบบฟอร์มในMicrosoft Wordรวมถึงกล่องข้อความComboboxและcheckboxDocumentBuilderมีวิธีการพิเศษในการแทรกฟิลด์แบบฟอร์มแต่ละชนิดลงในเอกสาร:DocumentBuilder.insertTextInput,DocumentBuilder.insertCheckBoxและDocumentBuilder.insertComboBox โปรดทราบว่าถ้าคุณระบุชื่อสำหรับฟิลด์ฟอร์มบุ๊กมาร์กจะถูกสร้างขึ้นโดยอัตโนมัติด้วยชื่อเดีย.

การใส่การป้อนข้อความ

DocumentBuilder.insertTextInputเพื่อแทรกกล่องข้อความลงในเอกสาร ตัวอย่างรหัสต่อไปนี้แสดงวิธีการแทรกฟิลด์ฟอร์มการป้อนข้อความลงในเอกสาร.

การใส่CheckBox

โทรDocumentBuilderinsertCheckBoxเพื่อแทรกcheckboxลงในเอกสาร ตัวอย่างรหัสต่อไปนี้แสดงวิธีการแทรกฟิลด์ฟอร์มcheckboxลงในเอกสาร.

การใส่กล่องคำสั่งผสม

โทรDocumentBuilderinsertComboBoxเพื่อใส่กล่องคำสั่งผสมลงในเอกสาร ตัวอย่างรหัสต่อไปนี้แสดงวิธีการแทรกฟิลด์ฟอร์มกล่องคำสั่งผสมลงในเอกสาร.

การแทรกโลแคลที่ระดับฟิลด์

ลูกค้าสามารถระบุสถานที่ที่ระดับสนามในขณะนี้และสามารถบรรลุการควบคุมที่ดีขึ้น รหัสโลแคลสามารถเชื่อมโยงกับแต่ละฟิลด์ภายในDocumentBuilder ตัวอย่างด้านล่างแสดงให้เห็นถึงวิธีการใช้ตัวเลือกนี้.

การแทรกHTML

คุณสามารถแทรกสตริงHTMLที่มีส่วนHTMLหรือเอกสารทั้งหมดHTMLลงในเอกสารคำ เพียงแค่ผ่านสตริงนี้ไปDocumentBuilderinsertHtmlวิธี. หนึ่งในการใช้งานที่มีประโยชน์ของวิธีนี้คือการจัดเก็บสตริงของHTMLในฐานข้อมูลและแทรกลงในเอกสารระหว่างMail Mergeเพื่อรับเนื้อหาที่จัดรูปแบบเพิ่มขึ้นแทนที่จะสร้างโดยใช้วิธีการต่างๆของตัวสร้างเอกสาร ตัวอย่างรหัสต่อไปนี้แสดงแทรกHTMLลงในเอกสารโดยใช้DocumentBuilder.

การแทรกการเชื่อมโยงหลายมิติ

ใช้DocumentBuilderinsertHyperlinkเพื่อแทรกการเชื่อมโยงหลายมิติในเอกสาร (URLหรือชื่อของบุ๊กมาร์กภายในเอกสาร)และพารามิเตอร์บูลีนที่ควรเป็นจริงถ้าURLเป็นชื่อของบุ๊กมDocumentBuilder.insertHyperlinkภายในโทรDocumentBuilder.insertField. วิธีการเพิ่มเครื่องหมายวรรคตอนที่จุดเริ่มต้นและจุดสิ้นสุดของURLเสมอ โปรดทราบว่าคุณต้องระบุการจัดรูปแบบแบบอักษรสำหรับข้อความแสดงการเชื่อมโยงหลายมิติอย่างชัดเจนโดยใช้คุณสมบัติFont ตัวอย่างรหัสต่อไปนี้แทรกการเชื่อมโยงหลายมิติลงในเอกสารโดยใช้DocumentBuilder.

การแทรกสารบัญ

คุณสามารถแทรกฟิลด์TOC(สารบัญ)ลงในเอกสารที่ตำแหน่งปัจจุบันโดยการเรียกวิธีการDocumentBuilder.insertTableOfContents DocumentBuilderวิธีinsertTableOfContentsจะแทรกช่องข้อมูลTOCลงในเอกสารเท่านั้น เพื่อที่จะสร้างสารบัญและแสดงตามหมายเลขหน้า,ทั้งสองวิธีDocument.UpdateFieldsต้องเรียกว่าหลังจากการแทรกของฟิลด์. ตัวอย่างรหัสต่อไปนี้แสดงวิธีการแทรกตารางของฟิลด์เนื้อหาลงในเอกสาร.

การแทรกวัตถุOle

ถ้าคุณต้องการOleโทรวัตถุDocumentBuilder.insertOleObjectAsIcon.

ตั้งชื่อไฟล์และนามสกุลเมื่อใส่วัตถุOle

OLEแพคเกจเป็นมรดกและ"ไม่มีเอกสาร"วิธีการจัดเก็บวัตถุที่ฝังตัวถ้าไม่เป็นที่รู้จักOLEตัวจัดการ ต้นWindowsรุ่นเช่นWindows 3.1,95 และ 98 มีPackager.exeแอพลิเคชันซึ่งสามารถใช้ในการฝังชนิดของข้อมูลใดๆลงในเอกสาร ตอนนี้,โปรแกรมนี้ถูกแยกออกจากWindowsแต่MSคำและโปรแกรมประยุกต์อื่นๆยังคงใช้มันเพื่อฝังข้อมูลหากOLEตัวจัดการหายไปหรือไม่ทราบ. OlePackageชั้นอนุญาตให้เข้าถึงOLE Packageคุณสมบัติตัวอย่างรหัสต่อไปนี้แสดงวิธีการตั้งค่าชื่อไฟล์ส่วนขยายและชื่อที่แสดงสำหรับOLE Package.

เข้าถึงข้อมูลดิบของวัตถุOLE

ตัวอย่างรหัสต่อไปนี้แสดงให้เห็นถึงวิธีการรับOLEวัตถุข้อมูลดิบโดยใช้วิธีการOleFormat.GetRawData().

แทรกกฎแนวนอนลงในเอกสาร

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการแทรกรูปร่างกฎแนวนอนลงในเอกสารโดยใช้วิธีการDocumentBuilder.InsertHorizontalRule.

การทำงานกับรูปร่าง

การใส่รูปร่างแบบอินไลน์และแบบลอยตัวฟรี

คุณสามารถแทรกรูปร่างแบบอินไลน์ที่มีชนิดและขนาดที่ระบุและรูปร่างแบบลอยตัวได้โดยมีตำแหน่งขนาดและชนิดการตัดข้อความที่ระบุลงในเอกสารโดยใช้วิธีการDocumentBuilder.InsertShape วิธีการDocumentBuilder.InsertShapeช่วยให้แทรกรูปร่างDMLลงในรูปแบบเอกสาร เอกสารต้องถูกบันทึกในรูปแบบที่รองรับDMLรูปร่างมิฉะนั้นโหนดดังกล่าวจะถูกแปลงเป็นVMLรูปร่าง ตัวอย่างรหัสต่อไปนี้แสดงวิธีการแทรกรูปร่างชนิดนี้ลงในเอกสาร.

สร้างมุมตัดสี่เหลี่ยมผืนผ้า

คุณสามารถสร้างสี่เหลี่ยมมุมตัดด้วยAspose.Words ประเภทรูปร่างคือSingleCornerSnipped, TopCornersSnipped, DiagonalCornersSnipped, TopCornersOneRoundedOneSnipped, SingleCornerRounded, TopCornersRounded, และDiagonalCornersRounded รูปร่างDMLถูกสร้างขึ้นโดยใช้วิธีการDocumentBuilder.InsertShapeกับประเภทรูปร่างเหล่านี้ ชนิดเหล่านี้ไม่สามารถใช้เพื่อสร้างVMLรูปร่าง พยายามที่จะสร้างรูปร่างโดยใช้ตัวสร้างสาธารณะของชั้นเรียน"รูปร่าง"ยก"NotSupportedException"ข้อยกเว้น ตัวอย่างรหัสต่อไปนี้แสดงวิธีการแทรกรูปร่างชนิดนี้ลงในเอกสาร.

นำเข้ารูปร่างด้วยคณิตศาสตร์XMLเป็นรูปร่างเป็นDOM

คุณสามารถใช้คุณสมบัติLoadOptions.ConvertShapeToOfficeMathเพื่อแปลงรูปร่างด้วยEquationXMLไปยังวัตถุทางคณิตศาสตร์สำนักงาน ค่าเริ่มต้นของคุณสมบัตินี้สอดคล้องกับMSลักษณะการทำงานของคำเช่นรูปร่างที่มีสมการXMLจะไม่.