Современное API
Введение
На данный момент библиотека Aspose.Slides для Python через .NET имеет зависимости в своем публичном API от следующих классов из aspose.pydrawing
:
aspose.pydrawing.Graphics
aspose.pydrawing.Image
aspose.pydrawing.Bitmap
aspose.pydrawing.printing.PrinterSettings
Начиная с версии 24.4, этот публичный API объявлен устаревшим из-за изменений в публичном API Aspose.Slides для .NET.
Для того чтобы избавиться от зависимостей на aspose.pydrawing
в публичном API, мы добавили так называемое “Современное API”. Методы с aspose.pydrawing.Image
и aspose.pydrawing.Bitmap
объявлены устаревшими и будут заменены соответствующими методами из Современного API. Методы с aspose.pydrawing.Graphics
объявлены устаревшими, и их поддержка будет удалена из публичного API.
Удаление устаревшего публичного API с зависимостями от aspose.pydrawing
будет произведено в версии 24.8.
Современное API
В публичный API добавлены следующие классы и перечисления:
aspose.slides.IImage
- представляет растровое или векторное изображение.aspose.slides.ImageFormat
- представляет формат файла изображения.aspose.slides.Images
- методы для создания и работы с интерфейсомIImage
.
Типичный сценарий использования нового API может выглядеть следующим образом:
import aspose.slides as slides
import aspose.pydrawing as drawing
with slides.Presentation() as pres:
image = slides.Images.from_file("image.png")
pp_image = pres.images.add_image(image)
pres.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10.0, 10.0, 100.0, 100.0, pp_image)
with pres.slides[0].get_image(drawing.Size(1920, 1080)) as slide_image:
slide_image.save("slide1.jpeg", slides.ImageFormat.JPEG)
Замена старого кода на Современное API
Для упрощения перехода интерфейс нового IImage
повторяет отдельные сигнатуры классов Image
и Bitmap
. В общем, вам просто нужно будет заменить вызов старого метода, используя aspose.pydrawing
, на новый.
Получение миниатюры слайда
Код, использующий устаревший API:
import aspose.slides as slides
with slides.Presentation("pres.pptx") as pres:
pres.slides[0].get_thumbnail().save("slide1.png")
Современное API:
import aspose.slides as slides
with slides.Presentation("pres.pptx") as pres:
with pres.slides[0].get_image() as image:
image.save("slide1.png")
Получение миниатюры фигуры
Код, использующий устаревший API:
import aspose.slides as slides
with slides.Presentation("pres.pptx") as pres:
pres.slides[0].shapes[0].get_thumbnail().save("shape.png")
Современное API:
import aspose.slides as slides
with slides.Presentation("pres.pptx") as pres:
with pres.slides[0].shapes[0].get_image() as image:
image.save("shape.png")
Получение миниатюры презентации
Код, использующий устаревший API:
import aspose.slides as slides
import aspose.pydrawing as drawing
with slides.Presentation("pres.pptx") as pres:
thumbnails = pres.get_thumbnails(slides.export.RenderingOptions(), drawing.Size(1980, 1028))
for idx, thumbnail in enumerate(thumbnails):
thumbnail.save(f"slide_{idx}.png", drawing.imaging.ImageFormat.png)
Современное API:
import aspose.slides as slides
import aspose.pydrawing as drawing
with slides.Presentation("pres.pptx") as pres:
thumbnails = pres.get_images(slides.export.RenderingOptions(), drawing.Size(1980, 1028))
for idx, thumbnail in enumerate(thumbnails):
thumbnail.save(f"slide_{idx}.png", slides.ImageFormat.PNG)
Добавление изображения в презентацию
Код, использующий устаревший API:
import aspose.slides as slides
import aspose.pydrawing as drawing
with slides.Presentation() as pres:
image = drawing.Image.from_file("image.png")
pp_image = pres.images.add_image(image)
pres.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10.0, 10.0, 100.0, 100.0, pp_image)
Современное API:
import aspose.slides as slides
with slides.Presentation() as pres:
image = slides.Images.from_file("image.png")
pp_image = pres.images.add_image(image)
pres.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10.0, 10.0, 100.0, 100.0, pp_image)
Методы/свойства, которые будут удалены, и их замена в Современном API
Класс Presentation
Сигнатура метода | Сигнатура заменяющего метода |
---|---|
get_thumbnails(options) | get_images(options) |
get_thumbnails(options, slides) | get_images(options, slides) |
get_thumbnails(options, scale_x, scale_y) | get_images(options, scale_x, scale_y) |
get_thumbnails(options, slides, scale_x, scale_y) | get_images(options, slides, scale_x, scale_y) |
get_thumbnails(options, image_size) | get_images(options, image_size) |
get_thumbnails(options, slides, image_size) | get_images(options, slides, image_size) |
save(fname, format, response, show_inline) | Будет полностью удален |
save(fname, format, options, response, show_inline) | Будет полностью удален |
print() | Будет полностью удален |
print(printer_settings) | Будет полностью удален |
print(printer_name) | Будет полностью удален |
print(printer_settings, pres_name) | Будет полностью удален |
Класс Slide
Сигнатура метода | Сигнатура заменяющего метода |
---|---|
get_thumbnail() | get_image() |
get_thumbnail(scale_x, scale_y) | get_image(scale_x, scale_y) |
get_thumbnail(image_size) | get_image(image_size) |
get_thumbnail(options) | get_image(options: ITiffOotions) |
get_thumbnail(options) | get_image(options: IRenderingOptions) |
get_thumbnail(options, scale_x, scale_y) | get_image(options, scale_x, scale_y) |
get_thumbnail(options, image_size) | get_image(options, image_size) |
render_to_graphics(options, graphics) | Будет полностью удален |
render_to_graphics(options, graphics, scale_x, scale_y) | Будет полностью удален |
render_to_graphics(options, graphics, rendering_size) | Будет полностью удален |
Класс Shape
Сигнатура метода | Сигнатура заменяющего метода |
---|---|
get_thumbnail() | get_image() |
get_thumbnail(bounds, scale_x, scale_y) | get_image(bounds, scale_x, scale_y) |
Класс ImageCollection
Сигнатура метода | Сигнатура заменяющего метода |
---|---|
add_image(image: aspose.pydrawing.Image) | add_image(image) |
Класс PPImage
Сигнатура метода/свойства | Сигнатура заменяющего метода/свойства |
---|---|
replace_image(new_image: aspose.pydrawing.Image) | replace_image(new_image) |
system_image | image |
Класс ImageWrapperFactory
Сигнатура метода | Сигнатура заменяющего метода |
---|---|
create_image_wrapper(image: aspose.pydrawing.Image) | create_image_wrapper(image) |
Класс PatternFormat
Сигнатура метода | Сигнатура заменяющего метода |
---|---|
get_tile_image(background, foreground) | get_tile(background, foreground) |
get_tile_image(style_color) | get_tile(style_color) |
Класс IPatternFormatEffectiveData
Сигнатура метода | Сигнатура заменяющего метода |
---|---|
get_tile_image(background, foreground) | get_tile_i_image(background, foreground) |
Класс Output
Сигнатура метода | Сигнатура заменяющего метода |
---|---|
add(path, image: aspose.pydrawing.Image) | add(path, image) |
Поддержка API для aspose.pydrawing.Graphics
будет прекращена
Методы с aspose.pydrawing.Graphics
объявлены устаревшими, и их поддержка будет удалена из публичного API.
Часть API, использующая его, будет удалена:
aspose.pydrawing.Slide.render_to_graphics(options, graphics)
aspose.pydrawing.Slide.render_to_graphics(options, graphics, scale_x, scale_y)
aspose.pydrawing.Slide.render_to_graphics(options, graphics, rendering_size)