Конвертировать 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.
Note
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();
}
Note
Aspose предлагает бесплатный онлайн‑инструмент PowerPoint to PDF converter, демонстрирующий процесс конвертации презентации в 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();
}
Сохранить встроенные 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 для проверки данных, либо откройте напрямую, если просмотрщик позволяет.
Note
Стандарты 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();
}
Note
Для получения дополнительной информации о замене шрифтов см. статью 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. Номера слайдов в этом массиве начинаются с 1, и входная презентация должна содержать как минимум три слайда.
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 позволяет использовать процедуру конвертации, соответствующую Web Content Accessibility Guidelines (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();
}
Note
Aspose.Slides поддерживает операции конвертации PDF, позволяя конвертировать PDF‑файлы в популярные форматы. Вы можете выполнить конвертации PDF в HTML, PDF в изображение, PDF в JPG и PDF в PNG. Другие операции конвертации PDF в специализированные форматы — PDF в SVG, PDF в TIFF и PDF в XML — также поддерживаются.Примечание: При экспорте в PDF/UA Aspose.Slides рассматривает сложную графику, такую как SmartArt, диаграммы и формулы, как одну фигурку. Отдельные элементы пути не сохраняются как отдельный контент и могут быть помечены как артефакты; альтернативный текст предоставляется только для всей фигурки.
FAQ
Можно ли конвертировать несколько файлов 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, обеспечивая соответствие ваших документов требованиям доступности и архивирования.

