Konwertuj PPT i PPTX do PDF w .NET [Zawarte zaawansowane funkcje]

Przegląd

Konwertowanie prezentacji PowerPoint (PPT, PPTX, ODP itp.) do formatu PDF w języku C# oferuje kilka korzyści, w tym kompatybilność z różnymi urządzeniami oraz zachowanie układu i formatowania prezentacji. Ten przewodnik pokazuje, jak konwertować prezentacje do dokumentów PDF, używać różnych opcji kontrolujących jakość obrazów, uwzględniać ukryte slajdy, zabezpieczać pliki PDF hasłem, wykrywać podstawienia czcionek, wybierać konkretne slajdy do konwersji oraz stosować standardy zgodności w dokumentach wyjściowych.

Konwersje PowerPoint do PDF

Używając Aspose.Slides, możesz konwertować prezentacje w następujących formatach do PDF:

  • PPT
  • PPTX
  • ODP

Aby przekonwertować prezentację do PDF, przekaż nazwę pliku jako argument do klasy Presentation a następnie zapisz prezentację jako PDF używając metody Save. Klasa Presentation udostępnia metodę Save, która zazwyczaj jest używana do konwersji prezentacji do PDF.

Aspose.Slides pozwala na konwersję:

  • Całe prezentacje do PDF
  • Wybrane slajdy z prezentacji do PDF

Aspose.Slides eksportuje prezentacje do PDF, zapewniając, że powstałe pliki PDF w dużej mierze odzwierciedlają oryginalne prezentacje. Elementy i atrybuty są renderowane dokładnie w konwersji, w tym:

  • Obrazy
  • Pola tekstowe i kształty
  • Formatowanie tekstu
  • Formatowanie akapitu
  • Hiperłącza
  • Nagłówki i stopki
  • Punktory
  • Tabele

Konwertuj PowerPoint do PDF

Standardowy proces konwersji PowerPoint do PDF używa domyślnych opcji. W tym przypadku Aspose.Slides próbuje przekonwertować podaną prezentację do PDF, korzystając z optymalnych ustawień przy maksymalnych poziomach jakości.

Ten kod C# pokazuje, jak przekonwertować prezentację (PPT, PPTX, ODP itp.) do PDF:

// Utwórz instancję klasy Presentation, która reprezentuje plik PowerPoint lub OpenDocument.
using var presentation = new Presentation("PowerPoint.ppt");

// Save the presentation as a PDF.
presentation.Save("PDF-result.pdf", SaveFormat.Pdf);

Konwertuj PowerPoint do PDF z opcjami

Aspose.Slides udostępnia opcje niestandardowe — właściwości w klasie PdfOptions — które pozwalają dostosować wynikowy PDF, zabezpieczyć go hasłem lub określić, jak ma przebiegać proces konwersji.

Konwertuj PowerPoint do PDF z niestandardowymi opcjami

Używając opcji konwersji niestandardowych, możesz określić preferowane ustawienie jakości dla obrazów rastrowych, określić sposób obsługi metafili, ustawić poziom kompresji dla tekstu, skonfigurować DPI dla obrazów i więcej.

Poniższy przykład kodu pokazuje, jak przekonwertować prezentację PowerPoint do PDF z kilkoma opcjami niestandardowymi.

 // Utwórz instancję klasy PdfOptions.
 var pdfOptions = new PdfOptions
 {
     // Ustaw jakość obrazów JPG.
     JpegQuality = 90,

     // Ustaw DPI dla obrazów.
     SufficientResolution = 300,

     // Ustaw zachowanie metafili.
     SaveMetafilesAsPng = true,

     // Ustaw poziom kompresji tekstu dla treści tekstowej.
     TextCompression = PdfTextCompression.Flate,

     // Określ tryb zgodności PDF.
     Compliance = PdfCompliance.Pdf15
 };

 // Utwórz instancję klasy Presentation, która reprezentuje plik PowerPoint lub OpenDocument.
 using var presentation = new Presentation("PowerPoint.pptx");

 // Zapisz prezentację jako dokument PDF.
 presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions);

Konwertuj PowerPoint do PDF z ukrytymi slajdami

Jeśli prezentacja zawiera ukryte slajdy, możesz użyć właściwości ShowHiddenSlides z klasy PdfOptions, aby uwzględnić ukryte slajdy jako strony w powstałym PDF.

Ten kod C# pokazuje, jak przekonwertować prezentację PowerPoint do PDF z uwzględnieniem ukrytych slajdów:

// Utwórz instancję klasy Presentation, która reprezentuje plik PowerPoint lub OpenDocument.
using var presentation = new Presentation("PowerPoint.pptx");

// Utwórz instancję klasy PdfOptions.
var pdfOptions = new PdfOptions();

// Dodaj ukryte slajdy.
pdfOptions.ShowHiddenSlides = true;

// Zapisz prezentację jako PDF.
presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions);

Konwertuj PowerPoint do PDF zabezpieczonego hasłem

Ten kod C# demonstruje, jak przekonwertować prezentację PowerPoint do PDF zabezpieczonego hasłem, używając parametrów ochrony z klasy PdfOptions:

// Utwórz instancję klasy Presentation, która reprezentuje plik PowerPoint lub OpenDocument.
using var presentation = new Presentation("PowerPoint.pptx");

// Utwórz instancję klasy PdfOptions.
var pdfOptions = new PdfOptions();

// Ustaw hasło PDF i uprawnienia dostępu.
pdfOptions.Password = "password";
pdfOptions.AccessPermissions = PdfAccessPermissions.PrintDocument | PdfAccessPermissions.HighQualityPrint;

// Zapisz prezentację jako PDF.
presentation.Save("PPTX-to-PDF.pdf", SaveFormat.Pdf, pdfOptions);

Wykrywanie podstawień czcionek

Aspose.Slides udostępnia właściwość WarningCallback w klasie PdfOptions, umożliwiając wykrywanie podstawień czcionek podczas procesu konwersji prezentacji do PDF.

Ten kod C# pokazuje, jak wykrywać podstawienia czcionek:

public static void Main()
{
    // Utwórz instancję klasy Presentation, która reprezentuje plik PowerPoint lub OpenDocument.
    using var presentation = new Presentation("sample.pptx");

    // Ustaw wywołanie zwrotne ostrzeżenia w opcjach PDF.
    var pdfOptions = new PdfOptions();
    pdfOptions.WarningCallback = new FontSubstitutionHandler();

    // Zapisz prezentację jako PDF.
    presentation.Save("output.pdf", SaveFormat.Pdf, pdfOptions);
}

// Implementacja wywołania zwrotnego ostrzeżenia.
private class FontSubstitutionHandler : IWarningCallback
{
    public ReturnAction Warning(IWarningInfo warning)
    {
        if (warning.WarningType == WarningType.DataLoss &&
            warning.Description.StartsWith("Font will be substituted"))
        {
            Console.WriteLine($"Font substitution warning: {warning.Description}");
        }

        return ReturnAction.Continue;
    }
}

Konwertuj wybrane slajdy z PowerPoint do PDF

Ten kod C# demonstruje, jak skonwertować tylko wybrane slajdy z prezentacji PowerPoint do PDF:

// Utwórz instancję klasy Presentation, która reprezentuje plik PowerPoint lub OpenDocument.
using var presentation = new Presentation("PowerPoint.pptx");

// Ustaw tablicę numerów slajdów.
int[] slides = { 1, 3 };

// Zapisz prezentację jako PDF.
presentation.Save("PPTX-to-PDF.pdf", slides, SaveFormat.Pdf);

Konwertuj PowerPoint do PDF z niestandardowym rozmiarem slajdu

Ten kod C# demonstruje, jak przekonwertować prezentację PowerPoint do PDF z określonym rozmiarem slajdu:

var slideWidth = 612;
var slideHeight = 792;

// Load a PowerPoint presentation.
using var presentation = new Presentation("SelectedSlides.pptx");

// Create a new presentation with an adjusted slide size.
using var resizedPresentation = new Presentation();

// Set the custom slide size.
resizedPresentation.SlideSize.SetSize(slideWidth, slideHeight, SlideSizeScaleType.EnsureFit);

// Clone the first slide from the original presentation.
var slide = presentation.Slides[0];
resizedPresentation.Slides.InsertClone(0, slide);

// Save the resized presentation to a PDF with notes.
resizedPresentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf);

Konwertuj PowerPoint do PDF w widoku notatek slajdu

Ten kod C# demonstruje, jak przekonwertować prezentację PowerPoint do PDF, który zawiera notatki:

// Wczytaj prezentację PowerPoint.
using var presentation = new Presentation("NotesFile.pptx");

// Skonfiguruj opcje PDF z układem notatek.
var pdfOptions = new PdfOptions
{
    SlidesLayoutOptions = new NotesCommentsLayoutingOptions
    {
        NotesPosition = NotesPositions.BottomFull
    }
};

// Zapisz prezentację do PDF z notatkami.
presentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf, pdfOptions);

Standardy dostępności i zgodności PDF

Aspose.Slides pozwala używać procedury konwersji zgodnej z Web Content Accessibility Guidelines (WCAG). Możesz eksportować dokument PowerPoint do PDF używając dowolnego z tych standardów zgodności: PDF/A1a, PDF/A1b i PDF/UA.

Ten kod C# demonstruje proces konwersji PowerPoint do PDF, który tworzy wiele plików PDF w zależności od różnych standardów zgodności:

using var presentation = new Presentation("pres.pptx");

presentation.Save("pres-a1a-compliance.pdf", SaveFormat.Pdf, new PdfOptions
{
    Compliance = PdfCompliance.PdfA1a
});

presentation.Save("pres-a1b-compliance.pdf", SaveFormat.Pdf, new PdfOptions
{
    Compliance = PdfCompliance.PdfA1b
});

presentation.Save("pres-ua-compliance.pdf", SaveFormat.Pdf, new PdfOptions
{
    Compliance = PdfCompliance.PdfUa
});

Uwaga: Podczas eksportu do PDF/UA Aspose.Slides traktuje złożoną grafikę, taką jak SmartArt, wykresy i formuły, jako jedną figurę. Poszczególne elementy ścieżek nie są zachowywane jako oddzielna zawartość i mogą być oznaczone jako artefakty; tekst alternatywny jest dostarczany tylko dla całej figury.

FAQ

Czy mogę konwertować wiele plików PowerPoint do PDF wsadowo?

Tak, Aspose.Slides obsługuje konwersję wsadową wielu plików PPT lub PPTX do PDF. Możesz iterować po swoich plikach i programowo zastosować proces konwersji.

Czy można zabezpieczyć konwertowany PDF hasłem?

Oczywiście. Użyj klasy PdfOptions aby ustawić hasło i określić uprawnienia dostępu podczas procesu konwersji.

Jak uwzględnić ukryte slajdy w PDF?

Ustaw właściwość ShowHiddenSlides w klasie PdfOptions na true, aby uwzględnić ukryte slajdy w wynikowym PDF.

Czy Aspose.Slides utrzymuje wysoką jakość obrazów w PDF?

Tak, możesz kontrolować jakość obrazów, ustawiając właściwości takie jak JpegQuality i SufficientResolution w klasie PdfOptions, aby zapewnić wysokiej jakości obrazy w PDF.

Czy Aspose.Slides obsługuje standardy zgodności PDF/A?

Tak, Aspose.Slides pozwala eksportować PDFy zgodne z różnymi standardami, w tym PDF/A1a, PDF/A1b i PDF/UA, zapewniając, że dokumenty spełniają wymagania dostępności i archiwizacji.

Dodatkowe zasoby