PPT und PPTX in PDF konvertieren in C++ [Erweiterte Funktionen enthalten]

Übersicht

Das Konvertieren von PowerPoint‑Präsentationen (PPT, PPTX, ODP usw.) in das PDF‑Format in C++ bietet mehrere Vorteile, darunter Kompatibilität über verschiedene Geräte hinweg und das Bewahren des Layouts und der Formatierung Ihrer Präsentation. Dieser Leitfaden zeigt, wie Präsentationen in PDF‑Dokumente umgewandelt werden, wie verschiedene Optionen zur Steuerung der Bildqualität verwendet werden, wie versteckte Folien einbezogen, PDF‑Dateien passwortgeschützt, Schriftartsubstitutionen erkannt, bestimmte Folien zur Konvertierung ausgewählt und Compliance‑Standards auf Ausgabedokumente angewendet werden.

PowerPoint‑zu‑PDF‑Konvertierungen

Mit Aspose.Slides können Sie Präsentationen in den folgenden Formaten in PDF konvertieren:

  • PPT
  • PPTX
  • ODP

Um eine Präsentation in PDF zu konvertieren, übergeben Sie den Dateinamen als Argument an die Presentation‑Klasse und speichern Sie die Präsentation anschließend mit der Save‑Methode als PDF. Die Presentation‑Klasse stellt die Save‑Methode bereit, die typischerweise zum Konvertieren einer Präsentation in PDF verwendet wird.

Aspose.Slides ermöglicht das Konvertieren von:

  • gesamten Präsentationen in PDF
  • einzelnen Folien einer Präsentation in PDF

Aspose.Slides exportiert Präsentationen nach PDF und sorgt dafür, dass die resultierenden PDFs dem Original sehr nahe kommen. Elemente und Attribute werden bei der Konvertierung exakt wiedergegeben, einschließlich:

  • Bilder
  • Textfelder und Formen
  • Textformatierung
  • Absatzformatierung
  • Hyperlinks
  • Kopf‑ und Fußzeilen
  • Aufzählungszeichen
  • Tabellen

PowerPoint in PDF konvertieren

Der Standard‑PowerPoint‑zu‑PDF‑Konvertierungsprozess verwendet die Standardeinstellungen. In diesem Fall versucht Aspose.Slides, die bereitgestellte Präsentation mit optimalen Einstellungen auf höchstem Qualitätsniveau in PDF zu konvertieren.

Der folgende C++‑Code zeigt, wie eine Präsentation (PPT, PPTX, ODP usw.) in PDF umgewandelt wird:

// Instanziieren Sie die Presentation-Klasse, die eine PowerPoint- oder OpenDocument-Datei darstellt.
auto presentation = MakeObject<Presentation>(u"PowerPoint.ppt");

// Speichern Sie die Präsentation als PDF.
presentation->Save(u"PPT-to-PDF.pdf", SaveFormat::Pdf);

presentation->Dispose();

PowerPoint in PDF mit Optionen konvertieren

Aspose.Slides stellt benutzerdefinierte Optionen – Eigenschaften der PdfOptions‑Klasse – bereit, mit denen Sie das resultierende PDF anpassen, das PDF mit einem Passwort schützen oder festlegen können, wie der Konvertierungsprozess ablaufen soll.

PowerPoint in PDF mit benutzerdefinierten Optionen konvertieren

Mit benutzerdefinierten Konvertierungsoptionen können Sie Ihre bevorzugte Qualitätsstufe für Rasterbilder festlegen, definieren, wie Metadateien behandelt werden, einen Komprimierungsgrad für Text setzen, DPI für Bilder konfigurieren usw.

Das nachstehende Codebeispiel demonstriert, wie eine PowerPoint‑Präsentation mit mehreren benutzerdefinierten Optionen in PDF konvertiert wird:

// Instanziieren Sie die PdfOptions-Klasse.
auto pdfOptions = MakeObject<PdfOptions>();

// Legen Sie die Qualität für JPG-Bilder fest.
pdfOptions->set_JpegQuality(90);

// DPI für Bilder festlegen.
pdfOptions->set_SufficientResolution(300);

// Verhalten für Metadateien festlegen.
pdfOptions->set_SaveMetafilesAsPng(true);

// Textkomprimierungsgrad für Textinhalt festlegen.
pdfOptions->set_TextCompression(PdfTextCompression::Flate);

// Definieren Sie den PDF-Compliance-Modus.
pdfOptions->set_Compliance(PdfCompliance::Pdf15);

// Instanziieren Sie die Presentation-Klasse, die eine PowerPoint- oder OpenDocument-Datei darstellt.
auto presentation = MakeObject<Presentation>(u"PowerPoint.pptx");

// Speichern Sie die Präsentation als PDF-Dokument.
presentation->Save(u"PowerPoint-to-PDF.pdf", SaveFormat::Pdf, pdfOptions);

presentation->Dispose();

PowerPoint in PDF mit versteckten Folien konvertieren

Enthält eine Präsentation versteckte Folien, können Sie die Methode set_ShowHiddenSlides der PdfOptions‑Klasse verwenden, um die versteckten Folien als Seiten in das resultierende PDF aufzunehmen.

Der folgende C++‑Code zeigt, wie eine PowerPoint‑Präsentation unter Einbeziehung versteckter Folien in PDF konvertiert wird:

// Instanziieren Sie die Presentation-Klasse, die eine PowerPoint- oder OpenDocument-Datei darstellt.
auto presentation = MakeObject<Presentation>(u"PowerPoint.pptx");

// Instanziieren Sie die PdfOptions-Klasse.
auto pdfOptions = MakeObject<PdfOptions>();

// Versteckte Folien hinzufügen.
pdfOptions->set_ShowHiddenSlides(true);

// Speichern Sie die Präsentation als PDF.
presentation->Save(u"PowerPoint-to-PDF.pdf", SaveFormat::Pdf, pdfOptions);

presentation->Dispose();

PowerPoint in passwortgeschütztes PDF konvertieren

Der folgende C++‑Code demonstriert, wie eine PowerPoint‑Präsentation mithilfe der Schutzparameter der PdfOptions‑Klasse in ein passwortgeschütztes PDF umgewandelt wird:

// Instanziieren Sie die Presentation-Klasse, die eine PowerPoint- oder OpenDocument-Datei darstellt.
auto presentation = MakeObject<Presentation>(u"PowerPoint.pptx");

// Instanziieren Sie die PdfOptions-Klasse.
auto pdfOptions = MakeObject<PdfOptions>();

// Setzen Sie ein PDF-Passwort und Zugriffsrechte.
pdfOptions->set_Password(u"password");
pdfOptions->set_AccessPermissions(PdfAccessPermissions::PrintDocument | PdfAccessPermissions::HighQualityPrint);

// Speichern Sie die Präsentation als PDF.
presentation->Save(u"PPTX-to-PDF.pdf", SaveFormat::Pdf, pdfOptions);

presentation->Dispose();

Schriftartsubstitutionen erkennen

Aspose.Slides bietet die Methode set_WarningCallback in der PdfOptions‑Klasse, mit der Sie Schriftartsubstitutionen während des Präsentation‑zu‑PDF‑Konvertierungsprozesses erkennen können.

Der nachstehende C++‑Code zeigt, wie Schriftartsubstitutionen erkannt werden:

// Implementierung des Warn-Callbacks.
class FontSubstitutionHandler : public IWarningCallback
{
public:
    ReturnAction Warning(SharedPtr<IWarningInfo> warning) override;
};

ReturnAction FontSubstitutionHandler::Warning(SharedPtr<IWarningInfo> warning)
{
    if (warning->get_WarningType() == WarningType::DataLoss && 
        warning->get_Description().StartsWith(u"Font will be substituted"))
    {
        Console::WriteLine(u"Font substitution warning: {0}", warning->get_Description());
    }

    return ReturnAction::Continue;
}

int main()
{
    // Instanziieren Sie die Presentation-Klasse, die eine PowerPoint- oder OpenDocument-Datei darstellt.
    auto presentation = MakeObject<Presentation>(u"sample.pptx");

    // Warn-Callback in den PDF-Optionen festlegen.
    auto pdfOptions = MakeObject<PdfOptions>();
    pdfOptions->set_WarningCallback(MakeObject<FontSubstitutionHandler>());

    // Präsentation als PDF speichern.
    presentation->Save(u"output.pdf", SaveFormat::Pdf, pdfOptions);
    
    presentation->Dispose();

    return 0;
}

Ausgewählte Folien aus PowerPoint in PDF konvertieren

Der folgende C++‑Code demonstriert, wie nur bestimmte Folien einer PowerPoint‑Präsentation in PDF konvertiert werden:

// Instanziieren Sie die Presentation-Klasse, die eine PowerPoint- oder OpenDocument-Datei darstellt.
auto presentation = MakeObject<Presentation>(u"PowerPoint.pptx");

// Array von Foliennummern festlegen.
auto slides = MakeArray<int32_t>({ 1, 3 });

// Präsentation als PDF speichern.
presentation->Save(u"PPTX-to-PDF.pdf", slides, SaveFormat::Pdf);

presentation->Dispose();

PowerPoint in PDF mit benutzerdefinierter Foliengröße konvertieren

Der folgende C++‑Code demonstriert, wie eine PowerPoint‑Präsentation mit einer festgelegten Foliengröße in PDF konvertiert wird:

auto slideWidth = 612;
auto slideHeight = 792;

// Instanziieren Sie die Presentation-Klasse, die eine PowerPoint- oder OpenDocument-Datei darstellt.
auto presentation = MakeObject<Presentation>(u"SelectedSlides.pptx");

// Erstellen Sie eine neue Präsentation mit einer angepassten Foliengröße.
auto resizedPresentation = MakeObject<Presentation>();

// Legen Sie die benutzerdefinierte Foliengröße fest.
resizedPresentation->get_SlideSize()->SetSize(slideWidth, slideHeight, SlideSizeScaleType::EnsureFit);

// Klone die erste Folie der Originalpräsentation.
auto slide = presentation->get_Slide(0);
resizedPresentation->get_Slides()->InsertClone(0, slide);

// Speichern Sie die skalierte Präsentation als PDF mit Notizen.
resizedPresentation->Save(u"PDF_with_notes.pdf", SaveFormat::Pdf);

resizedPresentation->Dispose();
presentation->Dispose();

PowerPoint in PDF im Notizfolien‑Ansicht konvertieren

Der folgende C++‑Code demonstriert, wie eine PowerPoint‑Präsentation in ein PDF konvertiert wird, das Notizen enthält:

// Instanziieren Sie die Presentation-Klasse, die eine PowerPoint- oder OpenDocument-Datei darstellt.
auto presentation = MakeObject<Presentation>(u"SelectedSlides.pptx");

// Konfigurieren Sie die PDF-Optionen mit Notizen-Layout.
auto notesOptions = MakeObject<NotesCommentsLayoutingOptions>();
notesOptions->set_NotesPosition(NotesPositions::BottomFull);
auto pdfOptions = MakeObject<PdfOptions>();
pdfOptions->set_SlidesLayoutOptions(notesOptions);

// Speichern Sie die Präsentation als PDF mit Notizen.
presentation->Save(u"PDF_with_notes.tiff", SaveFormat::Pdf, pdfOptions);

presentation->Dispose();

Barrierefreiheit und Compliance‑Standards für PDF

Aspose.Slides ermöglicht ein Konvertierungsverfahren, das den Web Content Accessibility Guidelines (WCAG) entspricht. Sie können ein PowerPoint‑Dokument mit einem der folgenden Compliance‑Standards in PDF exportieren: PDF/A‑1a, PDF/A‑1b und PDF/UA.

Der folgende C++‑Code demonstriert einen PowerPoint‑zu‑PDF‑Konvertierungsprozess, der mehrere PDFs anhand verschiedener Compliance‑Standards erzeugt:

auto presentation = MakeObject<Presentation>(u"pres.pptx");

auto pdfOptionsA1a = MakeObject<PdfOptions>();

pdfOptionsA1a->set_Compliance(PdfCompliance::PdfA1a);
presentation->Save(u"pres-a1a-compliance.pdf", SaveFormat::Pdf, pdfOptionsA1a);

auto pdfOptionsA1b = MakeObject<PdfOptions>();
pdfOptionsA1b->set_Compliance(PdfCompliance::PdfA1b);
presentation->Save(u"pres-a1b-compliance.pdf", SaveFormat::Pdf, pdfOptionsA1b);

auto pdfOptionsUa = MakeObject<PdfOptions>();
pdfOptionsUa->set_Compliance(PdfCompliance::PdfUa);

presentation->Save(u"pres-ua-compliance.pdf", SaveFormat::Pdf, pdfOptionsUa);

presentation->Dispose();

Hinweis: Beim Export nach PDF/UA behandelt Aspose.Slides komplexe Grafiken wie SmartArt, Diagramme und Formeln als eine einzige Figur. Einzelne Pfadelemente werden nicht als separater Inhalt erhalten und können als Artefakte gekennzeichnet werden; alternativer Text wird nur für die gesamte Figur bereitgestellt.

FAQ

Kann ich mehrere PowerPoint‑Dateien stapelweise in PDF konvertieren?

Ja, Aspose.Slides unterstützt die Batch‑Konvertierung mehrerer PPT‑ oder PPTX‑Dateien in PDF. Sie können Ihre Dateien iterativ durchlaufen und den Konvertierungsprozess programmgesteuert anwenden.

Ist es möglich, das konvertierte PDF zu schützen?

Absolut. Verwenden Sie die PdfOptions‑Klasse, um ein Passwort festzulegen und Zugriffsrechte während des Konvertierungsprozesses zu definieren.

Wie nehme ich versteckte Folien in das PDF auf?

Verwenden Sie die Methode set_ShowHiddenSlides in der PdfOptions‑Klasse, um versteckte Folien im resultierenden PDF zu integrieren.

Kann Aspose.Slides eine hohe Bildqualität im PDF beibehalten?

Ja, Sie können die Bildqualität steuern, indem Sie Methoden wie set_JpegQuality und set_SufficientResolution in der PdfOptions‑Klasse verwenden, um hochwertige Bilder in Ihrem PDF sicherzustellen.

Unterstützt Aspose.Slides PDF/A‑Compliance‑Standards?

Ja, Aspose.Slides ermöglicht den Export von PDFs, die verschiedenen Standards entsprechen, darunter PDF/A‑1a, PDF/A‑1b und PDF/UA, sodass Ihre Dokumente Barrierefreiheit und Archivierungsanforderungen erfüllen.

Zusätzliche Ressourcen