Convertir PPTX en PDF en C#

PptxToPdfConverter rend une présentation PowerPoint en PDF, une page par diapositive, sans PowerPoint et sans LibreOffice. Il accepte aussi directement un ancien fichier .ppt.

using DocToolkit;

byte[] pptx = File.ReadAllBytes("input.pptx");
byte[] pdf = PptxToPdfConverter.Convert(pptx);
File.WriteAllBytes("output.pdf", pdf);

Ce qu'il faut

  • Aucun navigateur, headless ou non.
  • Aucune installation d'Office, et pas de LibreOffice.
  • Aucun fichier natif : uniquement du code managé.
  • Aucun réseau à l'exécution, sauf si vous le demandez.

Bon à savoir

  • Synchrone : Convert prend le .pptx sous forme de byte[] et renvoie le PDF sous forme de byte[], une page par diapositive.
  • Pas de PageSetup : chaque page a la taille de sa diapositive. Une présentation 16:9 créée par PresentationEditor est rendue en 960 × 540 pt.
  • Un ancien .ppt est aussi accepté, uniquement vers PDF.
  • Sans PdfFontOptions, une diapositive contenant du texte non latin que les polices de l'hôte ne peuvent pas encoder est refusée, en indiquant le premier caractère de ce type.

Installation

dotnet add package Ank.DocToolkit

NuGetDocumentationGitHub