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

Обзор

В этой статье объясняется, как вы можете конвертировать форматы файлов PowerPoint в PDF с помощью PHP. Освещаются широкий спектр тем, например:

  • Конвертация PPT в PDF
  • Конвертация PPTX в PDF
  • Конвертация ODP в PDF
  • Конвертация PowerPoint в PDF

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

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

  • PPT
  • PPTX
  • ODP

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

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

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

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

  • изображения
  • текстовые поля и другие фигуры
  • тексты и их форматирование
  • абзацы и их форматирование
  • гиперссылки
  • заголовки и колонтитулы
  • маркеры
  • таблицы

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

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

Этот PHP-код показывает, как конвертировать PowerPoint в PDF:

  # Создание экземпляра класса Presentation, который представляет файл PowerPoint
  $pres = new Presentation("PowerPoint.ppt");
  try {
    # Сохранение презентации в формате PDF
    $pres->save("PPT-to-PDF.pdf", SaveFormat::Pdf);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

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

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

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

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

Этот PHP-код демонстрирует операцию, в которой PowerPoint конвертируется в PDF с несколькими пользовательскими параметрами:

// Создание экземпляра класса Presentation, который представляет файл PowerPoint
  $pres = new Presentation("PowerPoint.pptx");
  try {
    # Создание экземпляра класса PdfOptions
    $pdfOptions = new PdfOptions();
    # Установка качества Jpeg
    $pdfOptions->setJpegQuality(90);
    # Установка поведения для метафайлов
    $pdfOptions->setSaveMetafilesAsPng(true);
    # Установка уровня сжатия для текстов
    $pdfOptions->setTextCompression(PdfTextCompression::Flate);
    # Определение стандарта PDF
    $pdfOptions->setCompliance(PdfCompliance::Pdf15);
    # Сохранение презентации в формате PDF
    $pres->save("PowerPoint-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

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

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

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

// Создание экземпляра класса Presentation, который представляет файл PowerPoint
  $pres = new Presentation("PowerPoint.pptx");
  try {
    # Создание экземпляра класса PdfOptions
    $pdfOptions = new PdfOptions();
    # Включение скрытых слайдов
    $pdfOptions->setShowHiddenSlides(true);
    # Сохранение презентации в формате PDF
    $pres->save("PowerPoint-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Конвертация PowerPoint в PDF с защитой паролем

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

// Создание экземпляра класса Presentation, который представляет файл PowerPoint
  $pres = new Presentation("PowerPoint.pptx");
  try {
    # Создание экземпляра класса PdfOptions
    $pdfOptions = new PdfOptions();
    # Установка пароля PDF и разрешений на доступ
    $pdfOptions->setPassword("password");
    $pdfOptions->setAccessPermissions(PdfAccessPermissions::PrintDocument | PdfAccessPermissions::HighQualityPrint);
    # Сохранение презентации в формате PDF
    $pres->save("PPTX-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

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

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

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


class FontSubstSendsWarningCallback {
    function warning($warning)
    {
          if (java_values($warning->getWarningType() == WarningType::CompatibilityIssue)) {
            return ReturnAction::Continue;
          }
          if (java_values($warning->getWarningType() == WarningType::DataLoss && $warning->getDescription()->startsWith("Font will be substituted"))) {
            echo ("Предупреждение о замене шрифта: " . $warning->getDescription());
          }
          return ReturnAction::Continue;
    }
}

  $loadOptions = new LoadOptions();
  $warningCallback = java_closure(new FontSubstSendsWarningCallback(), null, java("com.aspose.slides.IWarningCallback"));
  $loadOptions->setWarningCallback($warningCallback);
  $pres = new Presentation("pres.pptx", $loadOptions);
  try {
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

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

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

// Создание экземпляра класса Presentation, который представляет файл PowerPoint
  $pres = new Presentation("PowerPoint.pptx");
  try {
    # Установка массива позиций слайдов
    $slides = array(1, 3 );
    # Сохранение презентации в формате PDF
    $pres->save("PPTX-to-PDF.pdf", $slides, SaveFormat::Pdf);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

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

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

// Создание экземпляра класса Presentation, который представляет файл PowerPoint 
  $pres = new Presentation("SelectedSlides.pptx");
  try {
    $outPres = new Presentation();
    try {
      $slide = $pres->getSlides()->get_Item(0);
      $outPres->getSlides()->insertClone(0, $slide);
      # Установка типа и размера слайда
      $outPres->getSlideSize()->setSize(612.0, 792.0, SlideSizeScaleType::EnsureFit);
      $pdfOptions = new PdfOptions();
      $options = $pdfOptions->getNotesCommentsLayouting();
      $options->setNotesPosition(NotesPositions::BottomFull);
      $outPres->save("PDFnotes_out.pdf", SaveFormat::Pdf, $pdfOptions);
    } finally {
      if (!java_is_null($pres)) {
        $pres->dispose();
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

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

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

// Создание экземпляра класса Presentation, который представляет файл PowerPoint
  $pres = new Presentation("SelectedSlides.pptx");
  try {
    $pdfOptions = new PdfOptions();
    $options = $pdfOptions->getNotesCommentsLayouting();
    $options->setNotesPosition(NotesPositions::BottomFull);
    $pres->save("Pdf_With_Notes.pdf", SaveFormat::Pdf, $pdfOptions);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

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

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

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

  $pres = new Presentation("pres.pptx");
  try {
    $pdfOptions = new PdfOptions();
    $pdfOptions->setCompliance(PdfCompliance::PdfA1a);
    $pres->save("pres-a1a-compliance.pdf", SaveFormat::Pdf, $pdfOptions);
    $pdfOptions->setCompliance(PdfCompliance::PdfA1b);
    $pres->save("pres-a1b-compliance.pdf", SaveFormat::Pdf, $pdfOptions);
    $pdfOptions->setCompliance(PdfCompliance::PdfUa);
    $pres->save("pres-ua-compliance.pdf", SaveFormat::Pdf, $pdfOptions);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }