1. Produkter
  2.   Aspose.Note
  3.   Aspose.Note FOSS for Python

Aspose.Note FOSS för Python

Läs, traversera och exportera Microsoft OneNote (.one)-filer från Python — gratis och öppen källkod, ingen Microsoft Office krävs.

Öppen källkod Python bibliotek för OneNote-filer

Aspose.Note FOSS för Python är ett 100 % fritt, MIT-licensierat bibliotek som låter dig läsa Microsoft OneNote (.one)-filer helt från Python, utan Microsoft Office, utan COM‑automatisering och utan proprietär runtime. Det exponerar ett rent offentligt API (aspose.note.*) modellerat efter det välbekanta Aspose.Note för .NET-gränssnittet, med en inbyggd MS-ONE/OneStore binärparser skriven i ren Python.

Installera från PyPI med pip install aspose-note (eller pip install "aspose-note[pdf]" för att aktivera PDF‑export). Kräver Python 3.10 eller senare.

Biblioteket är lämpligt för dokumentautomatiseringsskript, innehållsindexeringspipelines, arkiveringsverktyg och alla server‑sidiga arbetsflöden som behöver konsumera OneNote‑innehåll utan ett Microsoft Office‑beroende. För företagsproduktfamiljen, se Aspose.Note — Enterprise Product Family.

Läs och traversera OneNote-dokument

  • Läs in .one-filer: Öppna vilken OneNote-sektion som helst från en filsökväg eller binär ström via Document.
  • Full DOM-genomsökning: Navigera Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile.
  • Extrahering av rik text: Läs råtext via RichText.Text eller inspektera TextRun-segment för fetstil, kursiv, teckensnitt, färg och hyperlänkmetadata.
  • Tabellparsing: Traversera Table → TableRow → TableCell hierarkier; läs kolumnbredder via TableColumn.Width.
  • Tag inspection: Läs NoteTag metadata (form, etikett, färg, slutförandestatus) på text-, bild- och tabellnoder.

Var Aspose.Note FOSS kan användas

  • Innehållsindexering: Extrahera och indexera all text från OneNote-arkiv för sökpipelines.
  • Dokumentmigration: Exportera OneNote‑avsnitt till PDF, vanlig text eller strukturerad data.
  • Arkiveringsverktyg: Spara inbäddade bilder och bilagor till disk från .one filer.
  • CI/CD-flöden: Validera eller bearbeta OneNote-innehåll i Docker-behållare.
  • Kunskapsbas-pipelines: Extrahera strukturerat innehåll från teamets OneNote-anteckningsböcker.

Export, bilder och bilagor

  • PDF-export: Spara någon laddad Document till PDF med Document.Save(path, SaveFormat.Pdf). FOSS-utgåvan använder en standardrendering; avancerade per‑sida PDF‑alternativ är inte tillgängliga i denna version.
  • Bildexport: Iterera Image noder för att hämta råa byte (Bytes), filnamn (FileName) och dimensioner (OriginalWidth, OriginalHeight).
  • Bilagors sparande: Iterera AttachedFile noder för att spara inbäddade filbilagor till disk.
  • Ström-baserad inläsning: Öppna .one filer från en binär ström (t.ex. io.BytesIO) utan att skriva till disk.

Utvecklarupplevelse

Aspose.Note FOSS installerar med ett enda pip install aspose-note kommando. Baspaketet har inga valfria beroenden; PDF‑export kräver ReportLab, installerat via pip install "aspose-note[pdf]".

API:et är modellerat på det välbekanta Aspose.Note för .NET gränssnittet: Document, Page, Outline, RichText, Image, Table, AttachedFile. Biblioteket är MIT-licensierat, öppen källkod och tar emot felrapporter och bidrag på GitHub.

Läs in en OneNote-fil och extrahera all text

Installera med pip, och skicka sedan en filsökväg till Document() för att tolka OneNote‑binärformatet. GetChildNodes(RichText) utför en djup rekursiv sökning och returnerar varje textnod i dokumentet, vilket är användbart för fulltextindexering eller migrationspipelines.

pip install aspose-note
from aspose.note import Document, RichText
doc = Document("notebook.one")
print(f"Pages: {len(list(doc))}")
# Extract all text across the entire document
texts = [rt.Text for rt in doc.GetChildNodes(RichText) if rt.Text]
for text in texts:
   print(text)

Exportera till PDF och spara bifogade bilder

PDF-export kräver det valfria ReportLab-beroendet. Installera det med pip install "aspose-note[pdf]". Samma Document objekt kan också itereras för Image noder för att extrahera och spara alla inbäddade bilder till disk i ett pass.

from aspose.note import Document, SaveFormat, Image
import pathlib

doc = Document("notebook.one")

# Export the document to PDF (requires aspose-note[pdf])
doc.Save("output.pdf", SaveFormat.Pdf)

# Save all embedded images to disk
out_dir = pathlib.Path("images")
out_dir.mkdir(exist_ok=True)
for i, img in enumerate(doc.GetChildNodes(Image)):
   name = img.FileName or f"image_{i}.bin"
   (out_dir / name).write_bytes(img.Bytes)

Vanliga Frågor

Vad är Aspose.Note FOSS för Python?

Det är ett fritt, MIT-licensierat Python bibliotek för att läsa Microsoft OneNote (.one)-filer utan att kräva Microsoft Office, COM-automatisering eller någon proprietär runtime.

Vilka OneNote-formatvarianter stöds?

OneNote 2010, OneNote Online och OneNote 2007-formatvarianter. Alla giltiga .one sektionfil kan läsas in.

Hur installerar jag det?

Kör pip install aspose-note för basbiblioteket, eller pip install "aspose-note[pdf]" för att inkludera det valfria ReportLab‑beroendet för PDF‑export.

Kan jag exportera OneNote-filer till PDF?

Ja. Anropa Document.Save(path, SaveFormat.Pdf). PDF‑export kräver det valfria ReportLab‑beroendet installerat via [pdf]-extra.

Kan jag läsa in .one-filer från en ström?

Ja. Klassen Document accepterar en binär ström (t.ex. io.BytesIO eller ett HTTP‑svarsbody) så att du kan bearbeta filer utan att skriva till disk.

Vilken Python version krävs?

Python 3.10 eller senare krävs.

Kan jag skriva eller ändra en .one-fil?

Nej. Den aktuella utgåvan är skrivskyddad. Den kan öppna och tolka vilken giltig .one sektionfil som helst, men att skriva tillbaka till OneNote‑binärformatet stöds inte.

Stöds krypterade OneNote-dokument?

Nej. Inläsning av en lösenordsskyddad .one-fil kastar ett IncorrectPasswordException. Krypterade dokument stöds inte i den aktuella utgåvan.

Var kan jag hitta källkoden?

Biblioteket är licensierat under MIT och finns på GitHub. Felrapporter och pull‑requests är välkomna.

  

Stöd och Lärande Resurser

 Svenska