Image — Aspose.Note FOSS for Python API Reference
Класс: Image
ImageRenderOptions: aspose.note ImageRenderOptions: from aspose.note import Image ImageRenderOptions: CompositeNode
Image представляет собой встроенное изображение, хранящееся в OneNote .one файл. Он раскрывает необработанные байты изображения, оригинальное имя файла, отрисованные размеры, alt text, URL гиперссылки (если есть) и любые теги OneNote, прикреплённые к изображению.
ImageRenderOptions
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|---|
FileName | `str | None` | ImageRenderOptions |
Bytes | bytes | ImageRenderOptions | Необработанные данные изображения (PNG, JPEG или другой бинарный формат в зависимости от источника) |
Width | `float | None` | ImageRenderOptions |
Height | `float | None` | ImageRenderOptions |
AlternativeTextTitle | `str | None` | ImageRenderOptions |
AlternativeTextDescription | `str | None` | ImageRenderOptions |
HyperlinkUrl | `str | None` | ImageRenderOptions |
Tags | list[NoteTag] | ImageRenderOptions | Теги OneNote, прикреплённые к этому изображению |
Наследуется от CompositeNode / Node
| ImageRenderOptions | ImageRenderOptions |
|---|---|
ParentNode | Содержащий узел (OutlineElement, TableCell) |
Document | Корневой документ |
ImageRenderOptions
Replace(image)
img.Replace(image: Image) -> NoneЗаменяет содержимое этого Image узла содержимым другого Image узла, в памяти. Сохранение обратно в .one не поддерживается.
Accept(visitor)
img.Accept(visitor: DocumentVisitor) -> NoneImageRenderOptions VisitImageStart(img) и VisitImageEnd(img) на посетителе.
Примеры использования
Сохранить все изображения на диск
from aspose.note import Document, Image
doc = Document("MyNotes.one")
for i, img in enumerate(doc.GetChildNodes(Image), start=1):
filename = img.FileName or f"image_{i}.bin"
with open(filename, "wb") as f:
f.write(img.Bytes)
print(f"Saved: {filename} ({img.Width} x {img.Height} pts)")Определить формат изображения по байтам
from aspose.note import Document, Image
doc = Document("MyNotes.one")
for img in doc.GetChildNodes(Image):
b = img.Bytes
if b[:4] == b'\x89PNG':
fmt = "png"
elif b[:2] == b'\xff\xd8':
fmt = "jpeg"
elif b[:4] == b'GIF8':
fmt = "gif"
else:
fmt = "bin"
print(f" {img.FileName!r} detected as {fmt}")Найти все связанные изображения
from aspose.note import Document, Image
doc = Document("MyNotes.one")
for img in doc.GetChildNodes(Image):
if img.HyperlinkUrl:
print(f" Linked image: {img.FileName!r} -> {img.HyperlinkUrl}")Прочитать альтернативный текст
from aspose.note import Document, Image
doc = Document("MyNotes.one")
for img in doc.GetChildNodes(Image):
if img.AlternativeTextTitle or img.AlternativeTextDescription:
print(f" Alt title: {img.AlternativeTextTitle!r}")
print(f" Alt desc: {img.AlternativeTextDescription!r}")Проверить теги на изображениях
from aspose.note import Document, Image
doc = Document("MyNotes.one")
for img in doc.GetChildNodes(Image):
for tag in img.Tags:
print(f" Image tag: label={tag.label!r} completed={tag.completed}")Изображения на странице
from aspose.note import Document, Page, Image
doc = Document("MyNotes.one")
for page_num, page in enumerate(doc.GetChildNodes(Page), start=1):
images = page.GetChildNodes(Image)
print(f"Page {page_num}: {len(images)} image(s)")Безопасность при None
FileNameявляетсяNoneкогда имя файла не было сохранено: всегда предоставляйте запасной вариант при записи на диск.Bytesвсегда являетсяbytesобъектом и никогда неNone.WidthиHeightявляютсяNoneдля изображений без метаданных размеров.AlternativeTextTitle,AlternativeTextDescription, иHyperlinkUrlявляютсяNoneесли не задано.
См. также
- AttachedFile: встроенные вложения файлов
- NoteTag: теги на изображениях
- ImageRenderOptions: предок Image
- Руководство разработчика по изображениям и вложенным файлам
- How-to: Обход DOM (KB)