AttachedFile — Aspose.Note FOSS for Python API Reference
Класс: AttachedFile
ImageRenderOptions: aspose.note ImageRenderOptions: from aspose.note import AttachedFile ImageRenderOptions: CompositeNode
AttachedFile представляет собой бинарный файл, встроенный в раздел OneNote. Это дочерний элемент OutlineElement. Bytes свойство; оригинальное имя файла находится в FileName. Теги OneNote, прикреплённые к вложению, доступны через Tags.
ImageRenderOptions
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
FileName | `str | None` | ImageRenderOptions |
Bytes | bytes | ImageRenderOptions | Сырой бинарный контент вложенного файла. По умолчанию b"" когда данные вложения не удалось прочитать. |
Tags | list[NoteTag] | ImageRenderOptions | Теги OneNote, прикреплённые к этому узлу файла. |
Наследуется от CompositeNode / Node
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|
FirstChild | `Node | None` |
LastChild | `Node | None` |
ParentNode | `Node | None` |
Document | `Document | None` |
ImageRenderOptions
- Контент только для чтения:
BytesиFileNameпарсятся напрямую из бинарного файла MS-ONE. Нет API для замены встроенных данных файла в версии v26.3.1. - ImageRenderOptions: Сохранение документа, содержащего
AttachedFileузлы в PDF встраивают метаданные вложения, но не бинарное содержимое в самом PDF. - Пустые байты: Если блок данных файла отсутствует или имеет нулевую длину в источнике
.oneфайл,Bytesвозвращаетb"".
Пример использования
Извлечь все вложения на диск
import os
from aspose.note import Document, AttachedFile
doc = Document("MyNotes.one")
output_dir = "attachments"
os.makedirs(output_dir, exist_ok=True)
for af in doc.GetChildNodes(AttachedFile):
name = af.FileName or "unnamed_attachment"
dest = os.path.join(output_dir, name)
with open(dest, "wb") as f:
f.write(af.Bytes)
print(f"Saved: {dest} ({len(af.Bytes)} bytes)")Список вложений с их тегами
from aspose.note import Document, AttachedFile
doc = Document("MyNotes.one")
for af in doc.GetChildNodes(AttachedFile):
tag_labels = [t.label for t in af.Tags if t.label]
print(f"{af.FileName!r} tags={tag_labels} size={len(af.Bytes)}B")Безопасность при None
FileName может быть None; всегда указывайте резервное имя при записи файлов. Bytes всегда является bytes (никогда None), но может быть пустым (b""). Tags всегда является списком (может быть пустым).
См. также
- CompositeNode: родительский класс
- NoteTag: теги вложения
- OutlineElement: контейнер для
AttachedFile - Руководство разработчика