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

ImageRenderOptionsImageRenderOptionsImageRenderOptionsImageRenderOptions
FileName`strNone`ImageRenderOptions
BytesbytesImageRenderOptionsНеобработанные данные изображения (PNG, JPEG или другой бинарный формат в зависимости от источника)
Width`floatNone`ImageRenderOptions
Height`floatNone`ImageRenderOptions
AlternativeTextTitle`strNone`ImageRenderOptions
AlternativeTextDescription`strNone`ImageRenderOptions
HyperlinkUrl`strNone`ImageRenderOptions
Tagslist[NoteTag]ImageRenderOptionsТеги OneNote, прикреплённые к этому изображению

Наследуется от CompositeNode / Node

ImageRenderOptionsImageRenderOptions
ParentNodeСодержащий узел (OutlineElement, TableCell)
DocumentКорневой документ

ImageRenderOptions

Replace(image)

img.Replace(image: Image) -> None

Заменяет содержимое этого Image узла содержимым другого Image узла, в памяти. Сохранение обратно в .one не поддерживается.


Accept(visitor)

img.Accept(visitor: DocumentVisitor) -> None

ImageRenderOptions 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 если не задано.

См. также

 Русский