
En Innehållsförteckning (TOC) är en viktig funktion i Word-dokument, särskilt för långa dokument som rapporter, avhandlingar och e-böcker. Det gör Word-dokument mer läsbara och gör det möjligt för läsare att snabbt navigera genom olika avsnitt av dokumentet. I det här inlägget kommer du att lära dig hur du automatiserar TOC i Word-dokument programmässigt med Python. Vi kommer att gå igenom stegen för att skapa en innehållsförteckning i ett Word-dokument, infoga TOC i ett befintligt dokument eller extrahera TOC från ett dokument i Python.
Denna artikel täcker följande ämnen:
- Python Word-bibliotek för att arbeta med TOC
- Skapa en Innehållsförteckning (TOC) i Word med Python
- Skapa en Innehållsförteckning i ett Befintligt Word-dokument
- Extrahera Innehållsförteckningen från ett Word-dokument
- Få en Gratis API-licens
- Gratis Resurser
Python Word-bibliotek för att arbeta med TOC
För att arbeta med TOC i Word-dokument med Python kommer vi att använda Aspose.Words för Python biblioteket. Det tillåter utvecklare att skapa, modifiera och automatisera Word-dokument i Python-applikationer. Låt oss börja med att sätta upp vår miljö.
Innan vi dyker in i koden, se till att du har Aspose.Words för Python installerat. Du kan ladda ner paketet eller installera API:et från PyPI med följande pip-kommandot i din terminal:
pip install aspose-words
Detta kommer att ladda ner och installera Aspose.Words för Python-biblioteket och dess beroenden.
Skapa en Innehållsförteckning i Word med Python
Följ stegen nedan för att lägga till en innehållsförteckning i ett Word-dokument med Python.
- Skapa en instans av Document-klassen.
- Skapa en instans av DocumentBuilder-klassen med Document-objektet.
- Infoga en innehållsförteckning med hjälp av metoden insert_table_of_contents().
- Specificera rubrikstilar med hjälp av egenskapen style_identifier.
- Uppdatera fälten med hjälp av metoden update_fields().
- Spara Word-dokumentet med hjälp av metoden save().
Följande kodexempel visar hur du skapar en innehållsförteckning i ett Word-dokument med Python.
# This code example shows how to add a Table of Contents in a Word document. | |
# Create a document | |
doc = aw.Document() | |
# Initialize a document builder | |
builder = aw.DocumentBuilder(doc) | |
# Insert table of contents | |
builder.insert_table_of_contents("\\o \"1-3\" \\h \\z \\u") | |
# Start the actual document content on the second page. | |
builder.insert_break(aw.BreakType.PAGE_BREAK) | |
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1 | |
builder.writeln("Heading 1") | |
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2 | |
builder.writeln("Heading 1.1") | |
builder.writeln("Heading 1.2") | |
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1 | |
builder.writeln("Heading 2") | |
builder.writeln("Heading 3") | |
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2 | |
builder.writeln("Heading 3.1") | |
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING3 | |
builder.writeln("Heading 3.1.1") | |
builder.writeln("Heading 3.1.2") | |
builder.writeln("Heading 3.1.3") | |
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2 | |
builder.writeln("Heading 3.2") | |
builder.writeln("Heading 3.3") | |
# The newly inserted table of contents will be initially empty. | |
# It needs to be populated by updating the fields in the document. | |
doc.update_fields() | |
# Save the document | |
doc.save("insert_table_of_contents.docx") |

Lägg till en Innehållsförteckning i Word med Python
Skapa en Innehållsförteckning i ett Befintligt Word-dokument
Du kan också infoga en innehållsförteckning i ett befintligt Word-dokument genom att följa stegen nedan:
- Ladda ett befintligt Word-dokument med hjälp av Document-klassen.
- Skapa en instans av DocumentBuilder-klassen och initiera den med det Document-objekt som skapades tidigare.
- Infoga en innehållsförteckning med hjälp av metoden insert_table_of_contents().
- Uppdatera fälten med hjälp av metoden update_fields().
- Spara Word-dokumentet med hjälp av metoden save().
Följande kodexempel visar hur du skapar en innehållsförteckning i ett befintligt Word-dokument med Python.
# This code example shows how to insert a Table of Contents in an existing Word document. | |
# Load an existing Word document | |
doc = Document("toc_sample.docx"); | |
builder = DocumentBuilder(doc); | |
# Insert a table of contents at the beginning of the document. | |
builder.insert_table_of_contents("\\o \"1-3\" \\h \\z \\u"); | |
# The newly inserted table of contents will be initially empty. | |
# It needs to be populated by updating the fields in the document. | |
doc.update_fields(); | |
# Save the document | |
doc.save("InsertTOC_out.docx"); |

Skapa en Innehållsförteckning i ett Befintligt Word-dokument
Extrahera Innehållsförteckningen från ett Word-dokument i Python
Du kan extrahera fält från en innehållsförteckning i ett Word-dokument genom att följa stegen nedan:
- Ladda Word-dokumentet med hjälp av Document-klassen.
- Loop genom doc.range.fields-samlingen.
- Kontrollera om fälttypen är FIELD_HYPERLINK.
- Kontrollera om fältet hör till innehållsförteckningssektionen.
- Hämta informationen från fältet och skriv ut det.
Följande kodexempel visar hur du extraherar en innehållsförteckning från ett Word-dokument med Python.
# This code example shows how to extract a Table of Contents from a Word document. | |
# Load an existing Word document | |
doc = aw.Document(InsertTOC_out.docx") | |
# Loop through all the fields | |
for field in doc.range.fields: | |
# Check if it is FIELD_HYPERLINK | |
if (field.type == aw.fields.FieldType.FIELD_HYPERLINK): | |
hyperlink = field.as_field_hyperlink() | |
# Check if it in TOC section | |
if (hyperlink.sub_address != None and hyperlink.sub_address.find("_Toc") == 0): | |
tocItem = field.start.get_ancestor(aw.NodeType.PARAGRAPH).as_paragraph() | |
print(tocItem.to_string(aw.SaveFormat.TEXT).strip()) | |
print("------------------") | |
bm = doc.range.bookmarks.get_by_name(hyperlink.sub_address) | |
pointer = bm.bookmark_start.get_ancestor(aw.NodeType.PARAGRAPH).as_paragraph() | |
print(pointer.to_string(aw.SaveFormat.TEXT)) |
Rubrik 1 1
------------------
Rubrik 1
Rubrik2 1
------------------
Rubrik2
En annan Rubrik 1
------------------
En annan Rubrik
Få en Gratis Licens
Du kan få en gratis tillfällig licens och skapa en innehållsförteckning i Word-dokument utan utvärderingsbegränsningar.
TOC i Word – Gratis Resurser
- Läs Arbeta med Innehållsförteckning avsnittet i den officiella dokumentationen för att lära dig mer om att lägga till, uppdatera eller ta bort TOC i Word.
Förutom att arbeta med TOC i Word-dokument, utforska fler funktioner av Aspose.Words för Python med hjälp av resurserna nedan:
Slutsats
I den här artikeln har du lärt dig hur du arbetar med en innehållsförteckning (TOC) i ett Word-dokument programmässigt. Genom att följa stegen som beskrivs i artikeln kan du automatisera processen att skapa och hantera långa dokument. Aspose.Words för Python gör det möjligt för dig att effektivt hantera dina Word-dokument och förbättra deras användbarhet med en välstrukturerad Innehållsförteckning. Om du har några frågor eller behöver ytterligare hjälp, tveka inte att kontakta oss på vårt gratis supportforum.
Se Även
- Skapa Diagram i Word-dokument med Python
- Konvertera Word till JPG med Python
- Generera Word-dokument från Mallar
- Konvertera Bilder till Word-dokument
- Konvertera Word DOCX DOC till TXT
- Extrahera Bilder från PDF
- Jämför Två PDF-filer
- Hur man konverterar Bild till PDF med Python
- Konvertera Word till Excel med Python