การทำงานกับรายการ
รายการในเอกสารMicrosoft Wordคือชุดของคุณสมบัติการจัดรูปแบบรายการ รายการสามารถใช้ในเอกสารของคุณเพื่อจัดรูปแบบจัดเรียงและเน้นข้อความ รายการเป็นวิธีที่ดีในการจัดระเบียบข้อมูลในเอกสารและทำให้ผู้อ่านเข้าใจประเด็นสำคัญ.
แต่ละรายการสามารถมีได้ถึง 9 ระดับและคุณสมบัติการจัดรูปแบบเช่นสไตล์ตัวเลขค่าเริ่มต้น.
บทความนี้อธิบายการทำงานกับรายการโดยใช้Aspose.Words.
การสร้างรายการโดยใช้การจัดรูปแบบรายการ
Aspose.Wordsช่วยให้การสร้างง่ายของรายการโดยการใช้การจัดรูปแบบรายการ DocumentBuilderให้คุณListFormatที่ส่งกลับวัตถุListFormat วัตถุนี้มีหลายวิธีในการเริ่มต้นและสิ้นสุดรายการและการเพิ่ม/ลดการเยื้อง มีสองประเภททั่วไปของรายการในMicrosoft Word:สัญลักษณ์แสดงหัวข้อย่อยและหมายเลข:
- หากต้องการเริ่มรายการที่มีสัญลักษณ์ให้โทรListFormat.ApplyBulletDefault
- หากต้องการเริ่มรายการหมายเลขให้โทรListFormat.ApplyNumberDefault
นย่อหน้าปัจจุบันและย่อหน้าต่อไปทั้งหมดที่สร้างขึ้นโดยใช้DocumentBuilderจนกระทั่งRemoveNumbersถูกเรียกว่าเพื่อหยุดกา.
ในคำเอกสารรายการอาจประกอบด้วยถึงเก้าระดับ การจัดรูปแบบรายการสำหรับแต่ละระดับระบุสิ่งที่กระสุนหรือหมายเลขที่ใช้เยื้องซ้ายช่องว่ เมธอดต่อไปนี้เปลี่ยนระดับรายการและใช้คุณสมบัติการจัดรูปแบบของระดับใหม่:
- หากต้องการเพิ่มระดับรายการของย่อหน้าปัจจุบันโดยหนึ่งระดับให้โทรListFormat.ListIndent
- หากต้องการลดระดับรายการของย่อหน้าปัจจุบันโดยหนึ่งระดับให้โทรListFormat.ListOutdent
เมธอดเปลี่ยนระดับรายการและใช้คุณสมบัติการจัดรูปแบบของระดับใหม่.
ตัวอย่างรหัสต่อไปนี้แสดงวิธีการสร้างรายการหลายระดับ:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(DocumentBuilderSetMultilevelListFormatting.class); | |
// Open the document. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.getListFormat().applyNumberDefault(); | |
builder.writeln("Item 1"); | |
builder.writeln("Item 2"); | |
builder.getListFormat().listIndent(); | |
builder.writeln("Item 2.1"); | |
builder.writeln("Item 2.2"); | |
builder.getListFormat().listIndent(); | |
builder.writeln("Item 2.1.1"); | |
builder.writeln("Item 2.2.2"); | |
builder.getListFormat().listOutdent(); | |
builder.writeln("Item 3"); | |
builder.getListFormat().removeNumbers(); | |
doc.save(dataDir + "output.doc"); |
ระบุการจัดรูปแบบสำหรับระดับรายการ
อ็อบเจ็กต์ระดับรายการจะถูกสร้างขึ้นโดยอัตโนมัติเมื่อรายการถูกสร้างขึ้น ใช้คุณสมบัติและเมธอดของคลาสของListLevelเพื่อควบคุมการจัดรูปแบบของแต่ละระดับของรายการ.
รายการรีสตาร์ทสำหรับแต่ละส่วน
คุณสามารถรีสตาร์ทรายการสำหรับแต่ละส่วนโดยใช้คุณสมบัติIsRestartAtEachSection โปรดทราบว่าตัวเลือกนี้ได้รับการสนับสนุนเฉพาะในRTF,DOCและDOCXรูปแบบเอกสาร ตัวเลือกนี้จะถูกเขียนถึงDOCXเฉพาะในกรณีที่OoxmlComplianceสูงกว่าแล้วเอ็กมา 376.
ตัวอย่างรหัสต่อไปนี้แสดงวิธีการสร้างรายการและเริ่มต้นใหม่สำหรับแต่ละส่วน:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(); | |
doc.getLists().add(ListTemplate.NUMBER_DEFAULT); | |
com.aspose.words.List list = doc.getLists().get(0); | |
// Set true to specify that the list has to be restarted at each section. | |
list.isRestartAtEachSection(true); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.getListFormat().setList(list); | |
for (int i = 1; i < 45; i++) { | |
builder.writeln(String.format("List Item " + i)); | |
// Insert section break. | |
if (i == 15) | |
builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE); | |
} | |
builder.getListFormat().removeNumbers(); | |
// IsRestartAtEachSection will be written only if compliance is higher then OoxmlComplianceCore.Ecma376 | |
OoxmlSaveOptions options = new OoxmlSaveOptions(); | |
options.setCompliance(OoxmlCompliance.ISO_29500_2008_TRANSITIONAL); | |
dataDir = dataDir + "RestartAtEachSection_out.docx"; | |
// Save the document to disk. | |
doc.save(dataDir, options); |