Конвертация PPT и PPTX в PDF на Android [Включены расширенные функции]
Обзор
Преобразование презентаций PowerPoint (PPT, PPTX, ODP и т.д.) в формат PDF на Android предоставляет несколько преимуществ, включая совместимость с различными устройствами и сохранение макета и форматирования вашей презентации. Это руководство демонстрирует, как конвертировать презентации в PDF‑документы, использовать различные параметры для контроля качества изображений, включать скрытые слайды, защищать PDF‑файлы паролем, обнаруживать замену шрифтов, выбирать конкретные слайды для конвертации и применять стандарты соответствия к выходным документам.
Конвертация PowerPoint в PDF
С помощью Aspose.Slides вы можете конвертировать презентации следующих форматов в PDF:
- PPT
- PPTX
- ODP
Чтобы конвертировать презентацию в PDF, передайте имя файла в качестве аргумента классу Presentation, а затем сохраните презентацию как PDF, используя метод save. Класс Presentation предоставляет метод save, который обычно используется для конвертации презентации в PDF.
Примечание
Aspose.Slides for Android via Java вставляет информацию о своем API и номер версии в выходные документы. Например, при конвертации презентации в PDF Aspose.Slides заполняет поле Application значением “Aspose.Slides” и поле PDF Producer значением в виде “Aspose.Slides v XX.XX”. Примечание: вы не можете указать Aspose.Slides изменить или удалить эту информацию из выходных документов.Aspose.Slides позволяет конвертировать:
- Всю презентацию в PDF
- Определённые слайды из презентации в PDF
Aspose.Slides экспортирует презентации в PDF, гарантируя, что полученные PDF‑файлы максимально соответствуют оригинальным презентациям. Элементы и атрибуты отображаются точно при конвертации, включая:
- Изображения
- Текстовые блоки и фигуры
- Форматирование текста
- Форматирование абзацев
- Гиперссылки
- Колонтитулы
- Маркированные списки
- Таблицы
Конвертировать PowerPoint в PDF
Стандартный процесс конвертации PowerPoint в PDF использует параметры по умолчанию. В этом случае Aspose.Slides пытается преобразовать предоставленную презентацию в PDF, используя оптимальные настройки с максимально высоким качеством.
В следующем примере загружается презентация и сохраняются все видимые слайды в PDF с использованием настроек экспорта по умолчанию.
import com.aspose.slides.*;
Presentation presentation = new Presentation("PowerPoint.ppt");
try {
presentation.save("PPT-to-PDF.pdf", SaveFormat.Pdf);
} finally {
presentation.dispose();
}
Примечание
Aspose предлагает бесплатный онлайн конвертер PowerPoint в PDF, который демонстрирует процесс конвертации презентации в PDF. Вы можете выполнить тест с этим конвертером для практической реализации описанной здесь процедуры.Конвертировать PowerPoint в PDF с параметрами
Aspose.Slides предоставляет пользовательские параметры — свойства класса PdfOptions, которые позволяют настроить получаемый PDF, защитить PDF паролем или указать, как должен выполняться процесс конвертации.
Конвертировать PowerPoint в PDF с пользовательскими параметрами
Используя пользовательские параметры конвертации, вы можете задать предпочтительные настройки качества растровых изображений, указать способ обработки метафайлов, установить уровень сжатия текста, настроить DPI для изображений и многое другое.
В следующем примере презентация экспортируется в PDF 1.5 с качеством JPEG, установленным на 90, разрешением изображения 300 DPI, метафайлы сохраняются в формате PNG и используется Flate‑сжатие текста.
import com.aspose.slides.*;
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setJpegQuality((byte)90);
pdfOptions.setSufficientResolution(300);
pdfOptions.setSaveMetafilesAsPng(true);
pdfOptions.setTextCompression(PdfTextCompression.Flate);
pdfOptions.setCompliance(PdfCompliance.Pdf15);
Presentation presentation = new Presentation("PowerPoint.pptx");
try {
presentation.save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Автоматический выбор сжатия изображений
Если в презентации содержится много фотографий или скриншотов, уменьшение размера экспортируемого PDF может облегчить его отправку по электронной почте или загрузку. Вызовите PdfOptions.setBestImagesCompressionRatio с параметром true, чтобы автоматически выбрать наиболее подходящий алгоритм сжатия для каждого изображения при экспорте в PDF.
В следующем примере загружается существующая презентация, включается автоматический выбор сжатия изображений и сохраняется как PDF‑документ. Все остальные параметры экспорта PDF сохраняют значения по умолчанию.
import com.aspose.slides.PdfOptions;
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setBestImagesCompressionRatio(true);
Presentation presentation = new Presentation("image-heavy.pptx");
try {
presentation.save("image-heavy.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Этот параметр выбирает алгоритм сжатия для каждого изображения. Уменьшение значения, передаваемого в setJpegQuality, снижает качество JPEG‑изображения, а уменьшение значения, передаваемого в setSufficientResolution, позволяет понизить разрешение изображений, что может уменьшить детализацию. Включение автоматического выбора сжатия само по себе не изменяет эти параметры.
Выбор алгоритмов сжатия изображений требует дополнительного времени обработки и памяти. Сокращение размера зависит от изображений в презентации и настроек экспорта; фиксированное уменьшение не гарантировано для каждой презентации.
Сохранить встроенные OLE‑файлы как вложения PDF
Если в презентации содержится встроенная рабочая книга Excel, вы можете захотеть, чтобы получатели PDF могли получить доступ к данным рабочей книги, а также просматривать слайды. Вызовите setIncludeOleData с параметром true, чтобы сохранить встроенные OLE‑файлы как вложения в результирующий PDF.
Значение по умолчанию — false: превью‑изображение или значок OLE‑объекта отображается на странице PDF, но встроенный файл не включается как вложение. Установка параметра в true дополнительно включает данные файла. Превью остаётся визуальным представлением; вложение позволяет получателям открыть или сохранить встроенный файл отдельно. OLE‑объект не становится интерактивной таблицей Excel на странице PDF.
В следующем примере загружается презентация, уже содержащая встроенную рабочую книгу Excel, и экспортируется в PDF с вложенной рабочей книгой.
import com.aspose.slides.*;
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setIncludeOleData(true);
Presentation presentation = new Presentation("presentation.pptx");
try {
presentation.save("presentation.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Чтобы проверить результат:
- Откройте экспортированный PDF в просмотрщике, поддерживающем вложения файлов, например Adobe Acrobat Reader.
- Откройте панель Attachments (Вложений) смотрителя и найдите встроенную рабочую книгу.
- Сохраните вложение и откройте его в Excel, чтобы проверить данные, либо откройте напрямую, если просмотрщик позволяет. Превью на странице PDF отличается от вложения.
Примечание
Стандарты PDF/A накладывают ограничения на вложения: PDF/A‑1 запрещает встроенные файлы, PDF/A‑2 разрешает только вложения PDF/A, а PDF/A‑3 допускает другие типы файлов, включая рабочие книги Excel. Это требования стандартов, а не ограничения, специфичные для Aspose.Slides. В данном примере используется настройка соответствия PDF по умолчанию и не демонстрирует экспорт в PDF/A.Конвертировать PowerPoint в PDF со скрытыми слайдами
Если презентация содержит скрытые слайды, вы можете использовать метод setShowHiddenSlides класса PdfOptions, чтобы включить скрытые слайды как страницы в результирующий PDF.
В следующем примере презентация экспортируется в PDF с включением всех скрытых слайдов.
import com.aspose.slides.*;
Presentation presentation = new Presentation("PowerPoint.pptx");
try {
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setShowHiddenSlides(true);
presentation.save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Конвертировать PowerPoint в защищённый паролем PDF
В следующем примере презентация экспортируется в PDF, требующий пароль password для открытия. Права доступа позволяют печать, включая печать высокого качества.
import com.aspose.slides.*;
Presentation presentation = new Presentation("PowerPoint.pptx");
try {
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setPassword("password");
pdfOptions.setAccessPermissions(PdfAccessPermissions.PrintDocument | PdfAccessPermissions.HighQualityPrint);
presentation.save("PPTX-to-PDF.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Обнаружение замен шрифтов
Aspose.Slides предоставляет метод setWarningCallback в классе PdfOptions, позволяющий обнаруживать замену шрифтов во время процесса конвертации презентации в PDF.
В следующем примере презентация экспортируется в PDF, а предупреждения о замене шрифтов выводятся в консоль. Предупреждение выводится только в случае, когда недоступный шрифт заменяется при экспорте.
import com.aspose.slides.*;
class FontSubstitutionHandler implements IWarningCallback {
public int warning(IWarningInfo warning) {
if (warning.getWarningType() == WarningType.DataLoss && warning.getDescription().startsWith("Font will be substituted")) {
System.out.println("Font substitution warning: " + warning.getDescription());
}
return ReturnAction.Continue;
}
}
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setWarningCallback(new FontSubstitutionHandler());
Presentation presentation = new Presentation("sample.pptx");
try {
presentation.save("output.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Примечание
Для получения дополнительной информации о замене шрифтов см. статью Font Substitution.Обработка шрифтов без отдельного жирного начертания
Презентация может применять полужирное форматирование к тексту, даже если у используемого шрифта нет отдельного жирного начертания. Текст всё равно может выглядеть жирным за счёт синтетического утолщения, которое искусственно утолщает обычные глифы. Если такой текст выглядит слишком тяжёлым или иначе отличается от желаемого отображения в PDF, попробуйте вызвать PdfOptions.setRasterizeUnsupportedFontStyles с параметром true. Этот параметр отображает затронутый текст как растровое изображение во время экспорта PDF и может улучшить его внешний вид для некоторых шрифтов. Значение по умолчанию — false.
Примерная презентация содержит два текстовых блока: один с обычным текстом и один с полужирным форматированием того же шрифта, у которого нет отдельного жирного начертания. В следующем примере презентация загружается, включается растеризация неподдерживаемых стилей шрифтов, и экспортируется в PDF:
import com.aspose.slides.PdfOptions;
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setRasterizeUnsupportedFontStyles(true);
Presentation presentation = new Presentation("unsupported-bold.pptx");
try {
presentation.save("rasterized.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Ниже показаны предварительные просмотры вывода с отключённым и включённым параметром. В этом примере полужирный текст имеет более тяжёлые штрихи при отключённом параметре. При включённом параметре его штрихи становятся тоньше; обычный текст остаётся без изменений. Сравните результаты перед выбором настройки для вашей презентации.
Параметр отключён (false, по умолчанию) |
Параметр включён (true) |
|---|---|
![]() |
![]() |
В этом примере включение параметра преобразует только полужирный текст в растровое изображение: его нельзя выделять, копировать или искать как текст без OCR, и его контуры выглядят мягче при увеличении 800 %. Обычный текст остаётся доступным для поиска. При отключённом параметре обе строки остаются текстом.
Этот параметр растеризует текст, отформатированный как полужирный, когда у шрифта нет отдельного жирного начертания. Font Substitution вместо этого выбирает другой шрифт, если оригинальный недоступен.
Конвертировать выбранные слайды PowerPoint в PDF
В следующем примере экспортируются слайды 1 и 3 из презентации в PDF. Номера слайдов в этом массиве начинаются с единицы, и входная презентация должна содержать как минимум три слайда.
import com.aspose.slides.*;
Presentation presentation = new Presentation("PowerPoint.pptx");
try {
int[] slides = { 1, 3 };
presentation.save("PPTX-to-PDF.pdf", slides, SaveFormat.Pdf);
} finally {
presentation.dispose();
}
Конвертировать PowerPoint в PDF с пользовательским размером слайда
В следующем примере первый слайд из презентации копируется в новую презентацию с размером слайда 612 × 792 пунктов (8,5 × 11 дюймов). Содержимое слайда масштабируется до подходящего размера и экспортируется в PDF как один слайд.
import com.aspose.slides.*;
float slideWidth = 612;
float slideHeight = 792;
Presentation presentation = new Presentation("SelectedSlides.pptx");
Presentation resizedPresentation = new Presentation();
try {
resizedPresentation.getSlideSize().setSize(slideWidth, slideHeight, SlideSizeScaleType.EnsureFit);
ISlide slide = presentation.getSlides().get_Item(0);
resizedPresentation.getSlides().insertClone(0, slide);
// Удалить пустой слайд, с которым была создана новая презентация.
resizedPresentation.getSlides().removeAt(1);
resizedPresentation.save("PDF_with_custom_slide_size.pdf", SaveFormat.Pdf);
} finally {
resizedPresentation.dispose();
presentation.dispose();
}
Конвертировать PowerPoint в PDF в режиме заметок слайда
В следующем примере презентация экспортируется в PDF, размещая заметки докладчика каждого слайда под самим слайдом. Используйте презентацию, содержащую заметки докладчика, чтобы увидеть результат.
import com.aspose.slides.*;
Presentation presentation = new Presentation("SelectedSlides.pptx");
try {
NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions();
notesOptions.setNotesPosition(NotesPositions.BottomFull);
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setSlidesLayoutOptions(notesOptions);
presentation.save("PDF_with_notes.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Стандарты доступности и соответствия для PDF
Aspose.Slides позволяет использовать процедуру конвертации, соответствующую Руководствам по доступности веб‑контента (WCAG). Вы можете экспортировать документ PowerPoint в PDF, используя любой из этих стандартов соответствия: PDF/A1a, PDF/A1b и PDF/UA.
Этот код демонстрирует процесс конвертации PowerPoint в PDF, который создаёт несколько PDF‑файлов на основе различных стандартов соответствия:
import com.aspose.slides.*;
Presentation presentation = new Presentation("pres.pptx");
try {
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setCompliance(PdfCompliance.PdfA1a);
presentation.save("pres-a1a-compliance.pdf", SaveFormat.Pdf, pdfOptions);
pdfOptions.setCompliance(PdfCompliance.PdfA1b);
presentation.save("pres-a1b-compliance.pdf", SaveFormat.Pdf, pdfOptions);
pdfOptions.setCompliance(PdfCompliance.PdfUa);
presentation.save("pres-ua-compliance.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Примечание
Aspose.Slides поддерживает операции конвертации PDF, позволяя преобразовывать файлы PDF в популярные форматы. Вы можете выполнять конвертации PDF в HTML, PDF в изображение, PDF в JPG, и PDF в PNG. Другие операции конвертации PDF в специализированные форматы — PDF в SVG, PDF в TIFF, и PDF в XML — также поддерживаются.Примечание: При экспорте в PDF/UA Aspose.Slides рассматривает сложную графику, такую как SmartArt, диаграммы и формулы, как единую фигуру. Отдельные элементы путей не сохраняются как отдельный контент и могут быть отмечены как артефакты; альтернативный текст предоставляется только для всей фигуры.
Часто задаваемые вопросы
Можно ли массово конвертировать несколько файлов PowerPoint в PDF?
Да, Aspose.Slides поддерживает пакетную конвертацию нескольких файлов PPT или PPTX в PDF. Вы можете перебрать свои файлы и программно выполнить процесс конвертации.
Можно ли защитить конвертированный PDF паролем?
Да. Используйте класс PdfOptions для установки пароля и определения прав доступа во время процесса конвертации.
Как включить скрытые слайды в PDF?
Вызовите setShowHiddenSlides с параметром true в классе PdfOptions, чтобы включить скрытые слайды в результирующий PDF.
Может ли Aspose.Slides сохранять высокое качество изображений в PDF?
Да, вы можете управлять качеством изображений, используя такие методы, как setJpegQuality и setSufficientResolution в классе PdfOptions, чтобы обеспечить изображения высокого качества в вашем PDF.
Поддерживает ли Aspose.Slides стандарты соответствия PDF/A?
Да, Aspose.Slides позволяет экспортировать PDF, соответствующие различным стандартам, включая PDF/A1a, PDF/A1b и PDF/UA, обеспечивая соответствие ваших документов требованиям доступности и архивирования.

