Převod PPT a PPTX do PDF v Pythonu | Pokročilé možnosti

Přehled

Převod prezentací PowerPoint (PPT, PPTX, ODP) do formátu PDF v Pythonu nabízí několik výhod, včetně zajištění kompatibility napříč různými zařízeními a zachování rozvržení a formátování vaší prezentace. Tento průvodce ukazuje, jak převést prezentace do PDF dokumentů, využít různé možnosti pro kontrolu kvality obrázků, zahrnout skryté snímky, chránit PDF dokumenty heslem, detekovat náhrady písem, vybrat konkrétní snímky pro převod a aplikovat standardy souladu na výstupní dokumenty.

Převody PowerPoint do PDF

Pomocí Aspose.Slides můžete převádět prezentace v těchto formátech do PDF:

  • PPT
  • PPTX
  • ODP

Pro převod prezentace do PDF v Pythonu stačí předat název souboru jako argument třídě Presentation a poté prezentaci uložit jako PDF pomocí metody save. Třída Presentation poskytuje metodu save, která se typicky používá k převodu prezentace do PDF.

Aspose.Slides vám umožňuje převést:

  • Celé prezentace do PDF
  • Konkrétní snímky v prezentaci do PDF

Aspose.Slides exportuje prezentace do PDF a zajišťuje, že obsah výsledných PDF úzce odpovídá originálním prezentacím. Prvky a atributy jsou při převodu vykresleny přesně, včetně:

  • Obrázky
  • Textová pole a tvary
  • Formátování textu
  • Formátování odstavců
  • Hyperlinky
  • Záhlaví a zápatí
  • Odrážky
  • Tabulky

Převod PowerPoint do PDF

Standardní proces převodu PowerPoint do PDF používá výchozí možnosti. V tomto případě se Aspose.Slides snaží převést poskytnutou prezentaci do PDF za použití optimálních nastavení při maximální úrovni kvality.

Následující příklad načte prezentaci a uloží všechny viditelné snímky do PDF pomocí výchozích nastavení exportu.

import aspose.slides as slides

with slides.Presentation("PowerPoint.ppt") as presentation:
    presentation.save("PPT-to-PDF.pdf", slides.export.SaveFormat.PDF)

Převod PowerPoint do PDF s možnostmi

Aspose.Slides poskytuje vlastní možnosti — vlastnosti třídy PdfOptions, které vám umožní přizpůsobit PDF (vytvořené během procesu převodu), zamknout PDF heslem nebo dokonce určit, jak má proces převodu probíhat.

Převod PowerPoint do PDF s vlastními možnostmi

Pomocí vlastních možností převodu můžete nastavit preferované nastavení kvality rastrových obrázků, určit, jak se mají zpracovávat metafily, nastavit úroveň komprese textu, nastavit DPI pro obrázky atd.

Následující příklad exportuje prezentaci do PDF 1.5 s JPEG kvalitou nastavenou na 90, rozlišením obrázku 300 DPI, metafily uloženými jako PNG a Flate kompresí textu.

import aspose.slides as slides

pdf_options = slides.export.PdfOptions()
pdf_options.jpeg_quality = 90
pdf_options.sufficient_resolution = 300
pdf_options.save_metafiles_as_png = True
pdf_options.text_compression = slides.export.PdfTextCompression.FLATE
pdf_options.compliance = slides.export.PdfCompliance.PDF15

with slides.Presentation("PowerPoint.pptx") as presentation:
    presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options)

Zachovat vložené OLE soubory jako přílohy PDF

Pokud prezentace obsahuje vložený sešit Excel, můžete chtít, aby příjemci PDF mohli přistupovat k datům sešitu i prohlížet snímky. Nastavte PdfOptions.include_ole_data na True, aby se vložené OLE soubory zachovaly jako přílohy ve výsledném PDF.

Výchozí hodnota je False: náhledový obrázek nebo ikona OLE objektu je vykreslena na stránce PDF, ale jeho vložený soubor není zahrnut jako příloha. Nastavením možnosti na True se navíc zahrnou data souboru. Náhled zůstává vizuální reprezentací; příloha umožní příjemcům otevřít nebo uložit vložený soubor samostatně. OLE objekt se nestane interaktivní tabulkou Excelu na stránce PDF.

Následující příklad načte prezentaci, která již obsahuje vložený sešit Excel, a exportuje ji do PDF se sešitem jako přílohou.

import aspose.slides as slides

pdf_options = slides.export.PdfOptions()
pdf_options.include_ole_data = True

with slides.Presentation("presentation.pptx") as presentation:
    presentation.save("presentation.pdf", slides.export.SaveFormat.PDF, pdf_options)
  1. Otevřete exportované PDF v prohlížeči, který podporuje souborové přílohy, jako je Adobe Acrobat Reader.
  2. Otevřete panel Attachments (Přílohy) prohlížeče a najděte vložený sešit.
  3. Uložte přílohu a otevřete ji v Excelu pro kontrolu dat, nebo ji otevřete přímo, pokud to prohlížeč umožňuje. Náhled na stránce PDF je oddělený od přílohy.

Převod PowerPoint do PDF se skrytými snímky

Pokud prezentace obsahuje skryté snímky, můžete použít vlastní možnost — vlastnost show_hidden_slides třídy PdfOptions, která instruuje Aspose.Slides zahrnout skryté snímky jako stránky ve výsledném PDF.

Následující příklad exportuje prezentaci do PDF včetně všech skrytých snímků.

import aspose.slides as slides

pdf_options = slides.export.PdfOptions()
pdf_options.show_hidden_slides = True

with slides.Presentation("PowerPoint.pptx") as presentation:
    presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options)

Převod PowerPoint do PDF chráněného heslem

Následující příklad exportuje prezentaci do PDF, které vyžaduje heslo password pro otevření. Přístupová oprávnění umožňují tisk, včetně tisku ve vysoké kvalitě.

import aspose.slides as slides

pdf_options = slides.export.PdfOptions()
pdf_options.password = "password"
pdf_options.access_permissions = slides.export.PdfAccessPermissions.PRINT_DOCUMENT | slides.export.PdfAccessPermissions.HIGH_QUALITY_PRINT

with slides.Presentation("PowerPoint.pptx") as presentation:
    presentation.save("PPTX-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options)

Převod vybraných snímků v PowerPoint do PDF

Následující příklad exportuje snímky 1 a 3 z prezentace do PDF. Čísla snímků v tomto poli jsou číslována od jedničky a vstupní prezentace musí obsahovat alespoň tři snímky.

import aspose.slides as slides

with slides.Presentation("PowerPoint.pptx") as presentation:
    slide_numbers = [1, 3]
    presentation.save("PPTX-to-PDF.pdf", slide_numbers, slides.export.SaveFormat.PDF)

Převod PowerPoint do PDF s vlastním rozměrem snímku

Následující příklad zkopíruje první snímek z prezentace do nové prezentace s rozměrem snímku 612 × 792 bodů (8,5 × 11 palců). Obsah snímku se přizpůsobí tak, aby se vešel, a jediný snímek se exportuje do PDF.

import aspose.slides as slides

slide_width = 612
slide_height = 792

with slides.Presentation("SelectedSlides.pptx") as presentation:
    with slides.Presentation() as resized_presentation:
        resized_presentation.slide_size.set_size(slide_width, slide_height, slides.SlideSizeScaleType.ENSURE_FIT)
        slide = presentation.slides[0]
        resized_presentation.slides.insert_clone(0, slide)

        # Odstranit prázdný snímek, který byl vytvořen novou prezentací.
        resized_presentation.slides.remove_at(1)

        resized_presentation.save("PDF_with_custom_slide_size.pdf", slides.export.SaveFormat.PDF)

Převod PowerPoint do PDF v zobrazení poznámkových snímků

Následující příklad exportuje prezentaci do PDF, umisťuje poznámky přednášejícího každého snímku pod snímek. Použijte prezentaci obsahující poznámky přednášejícího, abyste viděli výsledek.

import aspose.slides as slides

pdf_options = slides.export.PdfOptions()
pdf_options.slides_layout_options = slides.export.NotesCommentsLayoutingOptions()
pdf_options.slides_layout_options.notes_position = slides.export.NotesPositions.BOTTOM_FULL

with slides.Presentation("NotesFile.pptx") as presentation:
    presentation.save("Pdf_Notes_out.pdf", slides.export.SaveFormat.PDF, pdf_options)

Standardy přístupnosti a souladu pro PDF

Aspose.Slides vám umožňuje použít postup převodu, který splňuje Web Content Accessibility Guidelines (WCAG). Můžete exportovat dokument PowerPoint do PDF s použitím některého z těchto standardů souladu: PDF/A1a, PDF/A1b a PDF/UA.

Tento Python kód demonstruje operaci převodu PowerPoint do PDF, při níž jsou získány více PDF založených na různých standardech souladu:

import aspose.slides as slides

pres = slides.Presentation("pres.pptx")

options = slides.export.PdfOptions()

options.compliance = slides.export.PdfCompliance.PDF_A1A
pres.save("pres-a1a-compliance.pdf", slides.export.SaveFormat.PDF, options)

options.compliance = slides.export.PdfCompliance.PDF_A1B
pres.save("pres-a1b-compliance.pdf", slides.export.SaveFormat.PDF, options)

options.compliance = slides.export.PdfCompliance.PDF_UA
pres.save("pres-ua-compliance.pdf", slides.export.SaveFormat.PDF, options)

Poznámka: Při exportu do PDF/UA Aspose.Slides zachází s komplexní grafikou, jako jsou SmartArt, grafy a vzorce, jako s jedním obrazem. Jednotlivé elementy cesty nejsou zachovány jako samostatný obsah a mohou být označeny jako artefakty; alternativní text je poskytován pouze pro celý obrázek.

Často kladené otázky

Může Aspose.Slides pro Python odebrat informace o aplikaci z PDF?

Ne, Aspose.Slides pro Python automaticky zahrnuje informace o API a číslo verze do výstupního PDF. Tyto informace nelze upravit ani odstranit.

Jak zahrnout pouze konkrétní snímky do převodu PDF?

Můžete specifikovat indexy snímků, které chcete převést, tím, že předáte pole pozic snímků metodě save.

Je možné během převodu PDF ochránit heslem?

Ano, můžete nastavit heslo a definovat přístupová oprávnění pomocí třídy PdfOptions před uložením prezentace jako PDF.

Podporuje Aspose.Slides převod PDF do jiných formátů?

Ano, Aspose.Slides podporuje převod PDF do formátů jako HTML, obrazové formáty (JPG, PNG), SVG, TIFF a XML.

Jak zajistit, aby mé PDF splňovalo standardy přístupnosti?

Nastavte vlastnost compliance v PdfOptions na standardy jako PDF_A1A, PDF_A1B nebo PDF_UA, abyste zajistili soulad s pokyny pro přístupnost.

Mohu zahrnout skryté snímky do PDF výstupu?

Ano, nastavením vlastnosti show_hidden_slides v PdfOptions na True budou skryté snímky zahrnuty do PDF.

Jak upravit kvalitu a rozlišení obrázků během převodu?

Použijte vlastnosti jpeg_quality a sufficient_resolution v PdfOptions, abyste řídili kvalitu a rozlišení obrázků ve výsledném PDF.

Zpracovává Aspose.Slides automaticky náhrady písem?

Aspose.Slides během převodu detekuje náhrady písem a můžete je zpracovat pomocí vlastnosti warning_callback v SaveOptions (aktuálně omezené).

Další zdroje