Конвертировать PPT & PPTX в PDF на Python | Расширенные параметры

Обзор

Конвертирование презентаций PowerPoint (PPT, PPTX, ODP) в формат PDF в Python предоставляет несколько преимуществ, включая обеспечение совместимости на разных устройствах и сохранение макета и форматирования вашей презентации. В этом руководстве демонстрируется, как преобразовать презентации в документы PDF, использовать различные параметры для контроля качества изображений, включать скрытые слайды, защищать PDF документы паролем, обнаруживать замену шрифтов, выбирать определённые слайды для конвертации и применять стандарты соответствия к выходным документам.

Конвертация PowerPoint в PDF

Используя Aspose.Slides, вы можете конвертировать презентации этих форматов в PDF:

  • PPT
  • PPTX
  • ODP

Чтобы конвертировать презентацию в PDF в Python, достаточно передать имя файла в качестве аргумента классу Presentation и затем сохранить презентацию как PDF, используя метод Save. Класс Presentation раскрывает метод Save, который обычно используется для конвертации презентации в PDF.

Aspose.Slides позволяет вам конвертировать:

  • Полные презентации в PDF
  • Конкретные слайды презентации в PDF

Aspose.Slides экспортирует презентации в PDF, обеспечивая максимально точное совпадение содержимого полученных PDF с оригинальными презентациями. Элементы и атрибуты отображаются точно, включая:

  • Изображения
  • Текстовые блоки и фигуры
  • Форматирование текста
  • Форматирование абзацев
  • Гиперссылки
  • Колонтитулы
  • Маркеры
  • Таблицы

Конвертировать PowerPoint в PDF

Стандартная операция конвертации PowerPoint в PDF выполняется с использованием параметров по умолчанию. В этом случае Aspose.Slides пытается конвертировать предоставленную презентацию в PDF, используя оптимальные настройки при максимальном качестве. Этот пример кода на Python показывает, как конвертировать PowerPoint в PDF:

Шаги: Конвертация PowerPoint в PDF в Python

Следующий пример кода объясняет эти конвертации с использованием Python через .NET

Шаги кода:

  • Создать экземпляр класса Presentation и передать ему файл PowerPoint.
    • Расширение .ppt — загрузка PPT файла в класс Presentation.
    • Расширение .pptx — загрузка PPTX файла в класс Presentation.
    • Расширение .odp — загрузка ODP файла в класс Presentation.
    • Расширение .pps — загрузка PPS файла в класс Presentation.
  • Сохранить Presentation в формате PDF, вызвав метод Save и используя перечисление SaveFormat.PDF.
import aspose.slides as slides

# Создаёт экземпляр класса Presentation, представляющего файл PowerPoint
presentation = slides.Presentation("PowerPoint.ppt")

# Сохраняет презентацию в формате PDF
presentation.save("PPT-to-PDF.pdf", slides.export.SaveFormat.PDF)

Конвертировать PowerPoint в PDF с параметрами

Aspose.Slides предоставляет пользовательские параметры — свойства класса PdfOptions, которые позволяют настроить получаемый PDF, заблокировать PDF паролем или даже задать порядок выполнения процесса конвертации.

Конвертировать PowerPoint в PDF с пользовательскими параметрами

Используя пользовательские параметры конвертации, вы можете задать предпочтительные настройки качества растровых изображений, указать, как обрабатывать метафайлы, установить уровень сжатия текста, задать DPI для изображений и т.д.

Ниже приведён пример кода, в котором презентация PowerPoint конвертируется в PDF с несколькими пользовательскими параметрами:

import aspose.slides as slides

# Создаёт экземпляр класса PdfOptions
pdf_options = slides.export.PdfOptions()

# Устанавливает качество JPG‑изображений
pdf_options.jpeg_quality = 90

# Устанавливает DPI для изображений
pdf_options.sufficient_resolution = 300

# Задает поведение для метафайлов
pdf_options.save_metafiles_as_png = True

# Устанавливает уровень сжатия текста для текстового содержимого
pdf_options.text_compression = slides.export.PdfTextCompression.FLATE

# Определяет режим соответствия PDF
pdf_options.compliance = slides.export.PdfCompliance.PDF15

# Создаёт экземпляр класса Presentation, представляющего документ PowerPoint
with slides.Presentation("PowerPoint.pptx") as presentation:
    # Сохраняет презентацию как PDF‑документ
    presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options)

Конвертировать PowerPoint в PDF с скрытыми слайдами

Если презентация содержит скрытые слайды, вы можете использовать пользовательский параметр — свойство show_hidden_slides класса PdfOptions, чтобы указать Aspose.Slides включить скрытые слайды как страницы в получаемом PDF.

Этот пример кода на Python показывает, как конвертировать презентацию PowerPoint в PDF с включёнными скрытыми слайдами:

import aspose.slides as slides

# Создаёт экземпляр класса Presentation, представляющего файл PowerPoint
presentation = slides.Presentation("PowerPoint.pptx")

# Создаёт экземпляр класса PdfOptions
pdfOptions = slides.export.PdfOptions()

# Добавляет скрытые слайды
pdfOptions.show_hidden_slides = True

# Сохраняет презентацию в формате PDF
presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions)

Конвертировать PowerPoint в PDF, защищённый паролем

Этот пример кода на Python показывает, как конвертировать PowerPoint в PDF, защищённый паролем (используя параметры защиты из класса PdfOptions):

import aspose.slides as slides

# Создаёт объект Presentation, представляющий файл PowerPoint
presentation = slides.Presentation("PowerPoint.pptx")

# Создаёт экземпляр класса PdfOptions
pdfOptions = slides.export.PdfOptions()

# Устанавливает пароль PDF и разрешения доступа
pdfOptions.password = "password"
pdfOptions.access_permissions = slides.export.PdfAccessPermissions.PRINT_DOCUMENT | slides.export.PdfAccessPermissions.HIGH_QUALITY_PRINT

# Сохраняет презентацию в формате PDF
presentation.save("PPTX-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions)

Обнаружение замены шрифтов

Aspose.Slides предоставляет свойство warning_callback класса SaveOptions для обнаружения замен шрифтов в процессе конвертации презентации в PDF.

Этот пример кода на Python показывает, как обнаружить замену шрифтов:

[TODO[SLIDESPYNET-91]: callbacks are not supported for now]

Конвертировать выбранные слайды PowerPoint в PDF

Этот пример кода на Python показывает, как конвертировать конкретные слайды презентации PowerPoint в PDF:

import aspose.slides as slides

# Создаёт объект Presentation, представляющий файл PowerPoint
presentation = slides.Presentation("PowerPoint.pptx")

# Устанавливает массив позиций слайдов
slides_array = [ 1, 3 ]

# Сохраняет презентацию в формате PDF
presentation.save("PPTX-to-PDF.pdf", slides_array, slides.export.SaveFormat.PDF)

Конвертировать PowerPoint в PDF с пользовательским размером слайда

Этот пример кода на Python показывает, как конвертировать PowerPoint, у которого указан размер слайда, в PDF:

import aspose.slides as slides

slide_width = 612
slide_height = 792

# Создаёт объект Presentation, представляющий файл PowerPoint или OpenDocument.
with slides.Presentation("SelectedSlides.pptx") as presentation:

    # Создаёт новую презентацию с изменённым размером слайда.
    with slides.Presentation() as resized_presentation:

        # Устанавливает пользовательский размер слайда.
        resized_presentation.slide_size.set_size(slide_width, slide_height, slides.SlideSizeScaleType.ENSURE_FIT)

        # Клонирует первый слайд из исходной презентации.
        slide = presentation.slides[0]
        resized_presentation.slides.insert_clone(0, slide)

        # Сохраняет изменённую презентацию в PDF с заметками.
        resized_presentation.save("PDF_with_notes.pdf", slides.export.SaveFormat.PDF)

Конвертировать PowerPoint в PDF в режиме заметок слайда

Этот пример кода на Python показывает, как конвертировать PowerPoint в PDF‑заметки:

import aspose.slides as slides

# Создаёт объект класса Presentation, представляющего файл PowerPoint
presentation = slides.Presentation("NotesFile.pptx")

pdfOptions = slides.export.PdfOptions()
pdfOptions.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL

# Сохраняет презентацию в PDF‑заметках
presentation.Save("Pdf_Notes_out.tiff", slides.export.SaveFormat.PDF, pdfOptions)

Стандарты доступности и соответствия для PDF

Aspose.Slides позволяет использовать процедуру конвертации, соответствующую Рекомендациям по доступности веб‑контента (WCAG). Вы можете экспортировать документ PowerPoint в PDF, используя любой из этих стандартов соответствия: PDF/A1a, PDF/A1b и PDF/UA.

Этот пример кода на Python демонстрирует операцию конвертации PowerPoint в PDF, в которой получаются несколько PDF‑файлов на основе разных стандартов соответствия:

import aspose.slides as slides

pres = slides.Presentation("pres.pptx")

options = slides.export.PdfOptions()

options.compliance = slides.export.PdfCompliance.PDF_A1A
pres.save("pres-a1a-compliance.pdf", slides.export.SaveFormat.PDF, options)

options.compliance = slides.export.PdfCompliance.PDF_A1B
pres.save("pres-a1b-compliance.pdf", slides.export.SaveFormat.PDF, options)

options.compliance = slides.export.PdfCompliance.PDF_UA
pres.save("pres-ua-compliance.pdf", slides.export.SaveFormat.PDF, options)

Примечание: При экспорте в PDF/UA Aspose.Slides рассматривает сложные графические элементы, такие как SmartArt, диаграммы и формулы, как одну фигурку. Отдельные элементы пути не сохраняются как отдельный контент и могут быть помечены как артефакты; альтернативный текст предоставляется только для всей фигурки.

Вопросы и ответы

Может ли Aspose.Slides for Python удалить информацию о приложении из PDF?

Нет, Aspose.Slides for Python автоматически включает информацию об API и номер версии в выходной PDF. Эта информация не может быть изменена или удалена.

Как включить только определённые слайды при конвертации в PDF?

Можно указать индексы слайдов, которые необходимо конвертировать, передав массив позиций слайдов в метод save.

Можно ли защитить PDF паролем во время конвертации?

Да, можно задать пароль и определить разрешения доступа, используя класс PdfOptions перед сохранением презентации в PDF.

Поддерживает ли Aspose.Slides конвертацию PDF в другие форматы?

Да, Aspose.Slides поддерживает конвертацию PDF в такие форматы, как HTML, графические форматы (JPG, PNG), SVG, TIFF и XML.

Как убедиться, что мой PDF соответствует стандартам доступности?

Установите свойство compliance в PdfOptions в значение PDF_A1A, PDF_A1B или PDF_UA для соответствия рекомендациям по доступности.

Можно ли включить скрытые слайды в PDF?

Да, установив свойство show_hidden_slides в PdfOptions в True, скрытые слайды будут включены в PDF.

Как настроить качество и разрешение изображений при конвертации?

Используйте свойства jpeg_quality и sufficient_resolution в PdfOptions для управления качеством и разрешением изображений в получаемом PDF.

Aspose.Slides автоматически обрабатывает замену шрифтов?

Aspose.Slides обнаруживает замену шрифтов во время конвертации, и вы можете обрабатывать её, используя свойство warning_callback в SaveOptions (в текущей версии ограничено).

Дополнительные ресурсы