Hur man börjar med Aspose.Note FOSS för Python
aspose-note för Python är en gratis, MIT-licensierad bibliotek för läsning och Konvertera Microsoft OneNote .one filer till PDF – inga Microsoft Office krävs, ingen native Extensioner, ren Python från PyPI.
Steg för steg guide
Steg 1: Installera paketet
Installera från PyPI med pip:
pip install aspose-note>=26.3.2Kontrollera installationen laddas korrekt:
from aspose.note import Document
print("aspose-note is ready.")Steg 2: Import nödvändiga klasser
Importera de moduler du behöver för att ladda dokument, krossa noder och spara:
from aspose.note import Document, Page, Outline, RichText, SaveFormatSteg 3: Ladda upp en OneNote-fil
Passera en filvägen till Document ladda upp något OneNote-format som stöds. Använd den FileFormat fastighet för att kontrollera vilken variant som upptäcktes:
from aspose.note import Document
doc = Document("notebook.one")
print(f"Format : {doc.FileFormat}")
print(f"Pages : {len(list(doc))}")Steg 4: Gå igenom sidor och läsa text
Användning GetChildNodes() att återfå alla Page knuten, sedan drill ner till RichText Löv Nötter för att läsa det faktiska textrådet:
from aspose.note import Document, Page, RichText
doc = Document("notebook.one")
for page in doc.GetChildNodes(Page):
if page.Title and page.Title.TitleText:
print(f"Page: {page.Title.TitleText}")
for rt in page.GetChildNodes(RichText):
text = "".join(rt)
if text.strip():
print(f" {text[:120]}")Steg 5: Export till PDF
Document.Save() accepterar SaveFormat.Pdf att skriva en PDF. Exporten kör helt och hållet In-process utan någon extern renderare:
import io
from aspose.note import Document, SaveFormat
doc = Document("notebook.one")
# Save to a file
doc.Save("output.pdf", SaveFormat.Pdf)
# Save to an in-memory buffer
buf = io.BytesIO()
doc.Save(buf, SaveFormat.Pdf)
print(f"PDF bytes: {len(buf.getvalue())}")Vanliga problem och fixar
ModuleNotFoundError: No module named 'aspose' Paketet är inte installerat i den aktiva Python-miljön. pip install aspose-note i samma virtuella miljö du använder för att köra ditt skript. bekräfta med pip show aspose-note.
FileNotFoundError När ringer Document("path") Vägen du passerade finns inte eller använder fel separator. pathlib.Path till Bygg vägar portable:
from pathlib import Path
from aspose.note import Document
doc = Document(str(Path("folder") / "notebook.one"))GetChildNodes() Återställer en tom lista Se till att du ringer GetChildNodes(Page) På den Document Röda - inte på A Page nötter - när du förväntar dig barn på sidan nivå. Varje nivå av trädet återkommer endast sin egen direkt efterkommande av den angivna typen.
PDF-utgåva är vitt eller saknas innehåll PDF-renderaren läser RichText Nötter. om filen endast innehåller bilder eller bifogade filer med No RichText knappar, PDF-sidorna kommer att vara tomma. Kontrollera dokumentträdet för att verifiera Den där RichText Nötter är närvarande och innehåller text.
page.Title är None Inte varje sida har en titel. alltid se till: if page.Title and page.Title.TitleText: ... innan du får tillgång till titeltexten för att undvika AttributeError.
Ofta ställda frågor
Behöver aspose-notera Microsoft Office?
Biblioteket läser OneNote binärt format och exporterar till PDF nativt i ren Python utan någon beroende av Microsoft Office, COM automatisering eller Windows API.
Vilka versioner av Python stöds?
Python 3.10 eller senare. paketet körs på Windows, macOS, Linux, Docker-behållare och serverfria funktioner.
Är biblioteket gratis för kommersiellt bruk?
Det släpps under MIT-licensen. Du kan använda, modifiera och omfördelar det för alla ändamål, inklusive kommersiella applikationer.
Kan jag skriva nya OneNote-filer från scratch?
Ja, skapa ett dokument med hjälp av Document(),och add Page Nötter via AppendChildLast(),Tillåt Outline och RichText barn, och export till PDF med Document.Save("output.pdf", SaveFormat.Pdf).Spara tillbaka till .one Format stöds inte.
Kan jag spara i andra format än PDF?
Den aktuella versionen 26.3.2 stöder endast export till PDF. Spara tillbaka till OneNote .one Format eller export till PNG, HTML eller andra format är inte tillgängliga i denna FOSS-utgåva.