Bevezetés
A Python-hoz készült FOSS egy ingyenes MIT licencben működő könyvtár, amely a Microsoft OneNote .one fájlok olvasására és PDF formátumra történő exportálásra szolgál tiszta Python nyelven. Az 26.3.2-es verzióban teljes dokumentumobjektummodell áll rendelkezésre, mely tartalmazza az oldalakat, körvonalat, gazdag szöveget alkotó csomópontokat, képeket és mellékelt fájlokat.
Fő jellemzői
Dokumentum betöltése és formátum felismerése
A Document az objektummodell gyökere. Adjon át egy fájlutat, hogy betöltsön bármely támogatott OneNote formátumot. Az ̋FileFormat∂ tulajdonság jelzi, melyik formatot észlelték.
from aspose.note import Document, FileFormat
doc = Document("notebook.one")
print(f"Format : {doc.FileFormat}")
print(f"Pages : {len(list(doc))}")
Oldalak és címek átfutása
A `Titelˇ csomópontja a ̋Dokumentum alatt található ∂Págájához tartozó csomó. Minden ̆Lapcˇ olyan metaadatokat tár fel, mint például ゚Author̅, ⌒CreationTime̅ és ゙Title̅. Az Titled̅ csomómeghatározás viszont ≫Titletestet̅ , Titeltét̅ s ‖Titeletempo ̄-t RichText」 gyermekként szolgálja ki.
from aspose.note import Document, Page
doc = Document("notebook.one")
for page in doc.GetChildNodes(Page):
print(f"Author : {page.Author}")
print(f"Created : {page.CreationTime}")
if page.Title and page.Title.TitleText:
print(f"Title : {page.Title.TitleText}")
A gazdag szöveg tartalmának olvasása
A RichText csomópontok azok a leveles csomopontokat, amelyek az aktuális szöveg tartalmát hordozzák. Iteráljon egy ̋RICHTEXT∂ objektumot szabványos for loop-val minden elem egy szalagszegment. Használja a ゙Append (() ̆ új szöveg hozzáadására stílussal.
from aspose.note import Document, Page, Outline, RichText
doc = Document("notebook.one")
for page in doc.GetChildNodes(Page):
for rt in page.GetChildNodes(RichText):
text = "".join(rt)
if text.strip():
print(text[:120])
A vázlat kialakításának tulajdonságai
A Outline csomópontok a layout koordinátáit mutatják: ̋HorizontalOffset∂, ∂VerticalOffset∂ , ゚MaxWidth∂ és ⌒MaxHeight∂. Ezek hasznosak az oldal elrendezésre figyelemmel történő kivonásához vagy újraösszetételéhez.
from aspose.note import Document, Outline
doc = Document("notebook.one")
for outline in doc.GetChildNodes(Outline):
print(f"HOffset={outline.HorizontalOffset} VOffset={outline.VerticalOffset} MaxW={outline.MaxWidth}")
Dokumentumfa építése
A Document-t a kezdetektől az ̋CompositeNode.AppendChildLast() ̆ segítségével hozzárendelni kell. Minden csomóponttípus hozzáadható érvényes szülői típusához: ∂Page゚ → ⌒Ducument゚, ゙Outline゚→ ゚Pagˇˇ, a ̅RichText̅ csomó → ï‰outline̅.
from aspose.note import Document, Page, Outline, RichText, ParagraphStyle, Title, SaveFormat
doc = Document()
page = Page()
title_text = RichText()
title_text.Append("My New Page", ParagraphStyle())
title = Title()
title.TitleText = title_text
page.Title = title
outline = Outline()
page.AppendChildLast(outline)
doc.AppendChildLast(page)
doc.Save("new_notebook.pdf", SaveFormat.Pdf)
PDF-be exportálás
`Document.Save()⌒ elfogadja a ̋SaverFormat.Pdf∂-t egy fájl útvonalba vagy ̆BytesIO∂ bufferbe írni. Az export teljesen folyamatban fut, külső renderszolgáltatás nélkül.
import io
from aspose.note import Document, SaveFormat
doc = Document("notebook.one")
# File output
doc.Save("export.pdf", SaveFormat.Pdf)
# In-memory buffer
buf = io.BytesIO()
doc.Save(buf, SaveFormat.Pdf)
print(f"PDF bytes: {len(buf.getvalue())}")
Gyors kezdés
pip install aspose-notefrom aspose.note import Document, Page, RichText, SaveFormat
doc = Document("notebook.one")
# Print all text
for page in doc.GetChildNodes(Page):
for rt in page.GetChildNodes(RichText):
print("".join(rt))
# Export to PDF
doc.Save("output.pdf", SaveFormat.Pdf)
Támogatott formátumok
| Format | Extension | Read | Write |
|---|---|---|---|
| OneNote 2010 | .one | ✓ | — |
| OneNote 2007 | .one | ✓ | — |
| OneNote Online | .one | ✓ | — |
.pdf | — | ✓ |
Nyitott forráskódú és licenckészítés
Aspose.FOSS Python-ra vonatkozó megjegyzés: A program a MIT Licenc alatt kapható. PyPI-ből aspose-noteként telepítve, kereskedelmi felhasználásra, újraelosztásra és módosításra is engedélyezett.
Kezdjük!
- Kezdjük!
- Készítő útmutató
- KB cikkek
- API hivatkozás