Java 용 Aspose.Words를 사용하면 Word 문서에서 TOC 필드를 추가하는 데 필요한 스위치 매개 변수가있는 insertTableOfContents() 메소드를 사용할 수 있습니다. 필요한만큼 TOC 필드를 추가 할 수 있습니다. 다음 코드는 서로 다른 스타일의 세 가지 TOC 필드를 추가합니다.
스위치를 지정하는 가장 쉬운 방법은 삽입 -> 참조 -> 색인 및 표 메뉴를 사용하여 목차를 Word 문서에 삽입하고 구성한 다음 스위치를보기 위해 필드 코드 표시를 전환하는 것입니다. Microsoft Word에서 Alt + F9를 눌러 필드 코드 표시를 켜거나 끌 수 있습니다.
예를 들어, 목차를 만든 후에는 {TOC \ o "1-3"\ h \ z \ u} 필드가 문서에 삽입됩니다. \ o "1-3"\ h \ z \ u를 복사하여 스위치 매개 변수로 사용할 수 있습니다.
insertTableOfContents 메서드는 코드에서 updateFields() 메서드를 호출하거나 MS Word에서 F9 키를 눌러야하는 TOC 필드를 채우기 위해 TOC 필드 만 추가합니다.
// Use a blank document
com.aspose.words.Document doc = new com.aspose.words.Document();
// Create a document builder to insert content with into document.
DocumentBuilder builder = new DocumentBuilder(doc);
// Insert a table of contents at the beginning of the document.
//TOC for Heading 1,2 and 3 styles
builder.insertTableOfContents("\\o \"1-3\" \\h \\z \\u");
//TOC for specific style e.g. Heading 2
builder.insertTableOfContents("\\h \\z \\t \"Heading 2,1\"");
//TOC for specific style e.g. Heading 3
builder.insertTableOfContents("\\h \\z \\t \"Heading 3,1\"");
// Start the actual document content on the second page.
builder.insertBreak(BreakType.PAGE_BREAK);
// Build a document with complex structure by applying different heading styles thus creating TOC entries.
builder.getParagraphFormat().setStyleIdentifier(StyleIdentifier.HEADING_1);
builder.writeln("Heading 1");
builder.getParagraphFormat().setStyleIdentifier(StyleIdentifier.HEADING_2);
builder.writeln("Heading 1.1");
builder.writeln("Heading 1.2");
builder.getParagraphFormat().setStyleIdentifier(StyleIdentifier.HEADING_1);
builder.writeln("Heading 2");
builder.writeln("Heading 3");
builder.getParagraphFormat().setStyleIdentifier(StyleIdentifier.HEADING_2);
builder.writeln("Heading 3.1");
builder.getParagraphFormat().setStyleIdentifier(StyleIdentifier.HEADING_3);
builder.writeln("Heading 3.1.1");
builder.writeln("Heading 3.1.2");
builder.writeln("Heading 3.1.3");
builder.getParagraphFormat().setStyleIdentifier(StyleIdentifier.HEADING_2);
builder.writeln("Heading 3.2");
builder.writeln("Heading 3.3");
// Call the method below to update the TOC.
doc.updateFields();
doc.save("Sample_out_1710.docx");
저는 개발자 전도자로서 Aspose와 협력합니다.
TOC 필드에 스타일을 지정해야합니다. http://webapp.docx4java.org/OnlineDemo/ecma376/WordML/TOC.html 내가 언급 한 세 가지 라이브러리 중 하나를 사용하여이 작업을 수행 할 수 있다고 상상해보십시오. 해당 필드의 목차는 약간 더 어려울 수 있습니다. 당신은 docx4j로 그렇게 할 수 있습니다; Toc * 샘플은 https://github.com/plutext/docx4j/tree/master/src/samples/docx4j/org/docx4j/samples에서 확인하십시오. – JasonPlutext