Introdução
Aspose.Nota FOSS para Python (aspose-note em PyPI) é uma biblioteca gratuita, licenciada pelo MIT para leitura de arquivos Microsoft OneNote .one e exportação para PDF em Python puro . Versão 26.3.2 fornece um modelo completo de objeto de documento cobrindo páginas, contornos, nós de texto rico, imagens e arquivo anexado nenhuma instalação do Microsoft Office ou dependência do Windows necessária.
Características principais
Carregamento e detecção de formato do documento
Document é a raiz do modelo de objeto. Passe um caminho para carregamento de qualquer formato OneNote suportado. A propriedade ̋FileFormat∂ relata qual o formato detectado .
from aspose.note import Document, FileFormat
doc = Document("notebook.one")
print(f"Format : {doc.FileFormat}")
print(f"Pages : {len(list(doc))}")
Atravessar páginas e títulos
As páginas são nós de página diretamente abaixo do documento. Cada página expõe metadados como autor, tempo de criação e título. O nó de título por sua vez fornece títulos como filhos.
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}")
Leitura de conteúdo rico em texto
Os nós `RichText⌒ são os nós de folha que carregam o conteúdo real do texto. Iterar um objeto ̋RICHTEXT∂ com um loop padrão ゙para゚ cada item é um segmento de cadeia. Use ̓Append (() ̨ para adicionar novo texto com estilo.
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])
Propriedades de layout do esboço
Os nós de “Outline” expõem coordenadas de layout: “HorizontalOffset”, “VerticalOffset”, `MaxWidth, ̋MaxHeight ̈ e ∂MinWitth ̈. Estes são úteis para extração ou recomposição de páginas conscientes do layouts.
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}")
Construção de árvores de documentos
Crie um Document a partir do zero usando o ̋CompositeNode.AppendChildLast() ̆ Cada tipo de nó pode ser adicionado ao seu pai válido: ∂Page゚ → ⌒Ducument゙, ̅Outline∂ → ï¿Pagˆˇ ̈, ïŸRichText∂ nodes→ ï1⁄4Outlin∂.
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)
Exportar para PDF
`Document.Save ((() ⌒ aceita ̋SafeFormat.Pdf∂ para escrever um PDF em uma faixa de arquivo ou um buffer ̓BytesIO∂ . A exportação é executada inteiramente no processo sem qualquer renderização externa.
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())}")
Começo rápido
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)
Formatos suportados
| Format | Extension | Read | Write |
|---|---|---|---|
| OneNote 2010 | .one | ✓ | — |
| OneNote 2007 | .one | ✓ | — |
| OneNote Online | .one | ✓ | — |
.pdf | — | ✓ |
Open Source & Licenciamento
Aspose.Nota FOSS para Python é lançado sob a Licença MIT. Instalar do PyPI como aspose-note. Uso comercial, redistribuição e modificação são todos permitidos.
Começar a Fazer
- Começar a Fazer
- Guia de Desenvolvedores
- KB Artigos
- Referência API