Konvertera PPT och PPTX till PDF i C++ [Avancerade funktioner inkluderade]
Översikt
Att konvertera PowerPoint‑presentationer (PPT, PPTX, ODP osv.) till PDF‑format i C++ ger flera fördelar, inklusive kompatibilitet över olika enheter och bevarande av layout och formatering i din presentation. Denna guide visar hur du konverterar presentationer till PDF‑dokument, använder olika alternativ för att styra bildkvalitet, inkluderar dolda bilder, lösenordsskyddar PDF‑filer, upptäcker teckensnittsersättningar, väljer specifika bilder för konvertering och tillämpar efterlevnadsstandarder på utdata‑dokument.
PowerPoint till PDF‑konverteringar
Med Aspose.Slides kan du konvertera presentationer i följande format till PDF:
- PPT
- PPTX
- ODP
För att konvertera en presentation till PDF, skicka filnamnet som argument till Presentation-klassen och spara sedan presentationen som PDF med en Save‑metod. Presentation-klassen exponerar Save‑metoden som vanligtvis används för att konvertera en presentation till PDF.
OBS
Aspose.Slides för C++ infogar API‑information och versionsnummer i utdata‑dokumenten. Till exempel, när en presentation konverteras till PDF, fyller Aspose.Slides i fältet Application med “Aspose.Slides” och PDF‑Producer‑fältet med ett värde i formatet “Aspose.Slides v XX.XX”. Observera att du inte kan instruera Aspose.Slides att ändra eller ta bort denna information från utdata‑dokumenten.Aspose.Slides låter dig konvertera:
- Hela presentationer till PDF
- Specifika bilder från en presentation till PDF
Aspose.Slides exporterar presentationer till PDF och säkerställer att de resulterande PDF‑filerna nära matchar de ursprungliga presentationerna. Element och attribut återges exakt i konverteringen, inklusive:
- Bilder
- Textrutor och former
- Textformatering
- Styckeformatering
- Hyperlänkar
- Sidhuvuden och sidfötter
- Punktlistor
- Tabeller
Konvertera PowerPoint till PDF
Den standardiserade PowerPoint‑till‑PDF‑konverteringsprocessen använder standardalternativ. I detta fall försöker Aspose.Slides konvertera den angivna presentationen till PDF med optimala inställningar på högsta kvalitet.
Denna C++‑kod visar hur du konverterar en presentation (PPT, PPTX, ODP osv.) till PDF:
// Skapa ett Presentation-objekt som representerar en PowerPoint- eller OpenDocument-fil.
auto presentation = MakeObject<Presentation>(u"PowerPoint.ppt");
// Spara presentationen som en PDF.
presentation->Save(u"PPT-to-PDF.pdf", SaveFormat::Pdf);
presentation->Dispose();
Konvertera PowerPoint till PDF med alternativ
Aspose.Slides tillhandahåller anpassade alternativ—egenskaper under PdfOptions-klassen—som låter dig anpassa den resulterande PDF‑en, låsa PDF‑en med ett lösenord eller ange hur konverteringsprocessen ska gå till.
Konvertera PowerPoint till PDF med anpassade alternativ
Med anpassade konverteringsalternativ kan du definiera din föredragna kvalitetsinställning för rasterbilder, ange hur metafiler ska hanteras, sätta en komprimeringsnivå för text, konfigurera DPI för bilder och mer.
Kodexemplet nedan demonstrerar hur du konverterar en PowerPoint‑presentation till PDF med flera anpassade alternativ.
// Skapa en PdfOptions-klass.
auto pdfOptions = MakeObject<PdfOptions>();
// Ställ in kvaliteten för JPG-bilder.
pdfOptions->set_JpegQuality(90);
// Ställ in DPI för bilder.
pdfOptions->set_SufficientResolution(300);
// Ställ in beteendet för metafiler.
pdfOptions->set_SaveMetafilesAsPng(true);
// Ställ in textkomprimeringsnivån för textinnehåll.
pdfOptions->set_TextCompression(PdfTextCompression::Flate);
// Definiera PDF‑efterlevnadsläget.
pdfOptions->set_Compliance(PdfCompliance::Pdf15);
// Skapa ett Presentation-objekt som representerar en PowerPoint‑ eller OpenDocument‑fil.
auto presentation = MakeObject<Presentation>(u"PowerPoint.pptx");
// Spara presentationen som ett PDF-dokument.
presentation->Save(u"PowerPoint-to-PDF.pdf", SaveFormat::Pdf, pdfOptions);
presentation->Dispose();
Konvertera PowerPoint till PDF med dolda bilder
Om en presentation innehåller dolda bilder kan du använda metoden set_ShowHiddenSlides från PdfOptions-klassen för att inkludera de dolda bilderna som sidor i den resulterande PDF‑en.
Denna C++‑kod visar hur du konverterar en PowerPoint‑presentation till PDF med dolda bilder inkluderade:
// Skapa ett Presentation-objekt som representerar en PowerPoint- eller OpenDocument-fil.
auto presentation = MakeObject<Presentation>(u"PowerPoint.pptx");
// Skapa en PdfOptions-klass.
auto pdfOptions = MakeObject<PdfOptions>();
// Lägg till dolda bilder.
pdfOptions->set_ShowHiddenSlides(true);
// Spara presentationen som en PDF.
presentation->Save(u"PowerPoint-to-PDF.pdf", SaveFormat::Pdf, pdfOptions);
presentation->Dispose();
Konvertera PowerPoint till lösenordsskyddad PDF
Denna C++‑kod demonstrerar hur du konverterar en PowerPoint‑presentation till en lösenordsskyddad PDF med skyddsparametrarna från PdfOptions-klassen:
// Skapa ett Presentation-objekt som representerar en PowerPoint- eller OpenDocument-fil.
auto presentation = MakeObject<Presentation>(u"PowerPoint.pptx");
// Skapa en PdfOptions-klass.
auto pdfOptions = MakeObject<PdfOptions>();
// Ange ett PDF-lösenord och åtkomstbehörigheter.
pdfOptions->set_Password(u"password");
pdfOptions->set_AccessPermissions(PdfAccessPermissions::PrintDocument | PdfAccessPermissions::HighQualityPrint);
// Spara presentationen som en PDF.
presentation->Save(u"PPTX-to-PDF.pdf", SaveFormat::Pdf, pdfOptions);
presentation->Dispose();
Detektera teckensnittsersättningar
Aspose.Slides tillhandahåller metoden set_WarningCallback under PdfOptions-klassen, vilket gör att du kan upptäcka teckensnittsersättningar under konverteringsprocessen från presentation till PDF.
Denna C++‑kod visar hur du detekterar teckensnittsersättningar:
// Implementering av varningsåterkallning.
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()
{
// Skapa ett Presentation-objekt som representerar en PowerPoint- eller OpenDocument-fil.
auto presentation = MakeObject<Presentation>(u"sample.pptx");
// Ställ in varningsåterkallning i PDF-alternativ.
auto pdfOptions = MakeObject<PdfOptions>();
pdfOptions->set_WarningCallback(MakeObject<FontSubstitutionHandler>());
// Spara presentationen som en PDF.
presentation->Save(u"output.pdf", SaveFormat::Pdf, pdfOptions);
presentation->Dispose();
return 0;
}
För mer information om att ta emot återanrop för teckensnittsersättningar under renderingsprocessen, se Getting Warning Callbacks for Fonts Substitution.
För mer information om teckensnittsersättning, se artikeln Font Substitution.
Konvertera utvalda bilder från PowerPoint till PDF
Denna C++‑kod demonstrerar hur du endast konverterar specifika bilder från en PowerPoint‑presentation till PDF:
// Skapa ett Presentation-objekt som representerar en PowerPoint- eller OpenDocument-fil.
auto presentation = MakeObject<Presentation>(u"PowerPoint.pptx");
// Ställ in en array med bildnummer.
auto slides = MakeArray<int32_t>({ 1, 3 });
// Spara presentationen som en PDF.
presentation->Save(u"PPTX-to-PDF.pdf", slides, SaveFormat::Pdf);
presentation->Dispose();
Konvertera PowerPoint till PDF med anpassad bildstorlek
Denna C++‑kod demonstrerar hur du konverterar en PowerPoint‑presentation till PDF med en angiven bildstorlek:
auto slideWidth = 612;
auto slideHeight = 792;
// Skapa ett Presentation-objekt som representerar en PowerPoint- eller OpenDocument-fil.
auto presentation = MakeObject<Presentation>(u"SelectedSlides.pptx");
// Skapa en ny presentation med justerad bildstorlek.
auto resizedPresentation = MakeObject<Presentation>();
// Ställ in den anpassade bildstorleken.
resizedPresentation->get_SlideSize()->SetSize(slideWidth, slideHeight, SlideSizeScaleType::EnsureFit);
// Klona den första bilden från den ursprungliga presentationen.
auto slide = presentation->get_Slide(0);
resizedPresentation->get_Slides()->InsertClone(0, slide);
// Spara den anpassade presentationen till en PDF med anteckningar.
resizedPresentation->Save(u"PDF_with_notes.pdf", SaveFormat::Pdf);
resizedPresentation->Dispose();
presentation->Dispose();
Konvertera PowerPoint till PDF i anteckningsvy
Denna C++‑kod demonstrerar hur du konverterar en PowerPoint‑presentation till en PDF som inkluderar anteckningar:
// Skapa ett Presentation-objekt som representerar en PowerPoint- eller OpenDocument-fil.
auto presentation = MakeObject<Presentation>(u"SelectedSlides.pptx");
// Konfigurera PDF-alternativen med anteckningslayout.
auto notesOptions = MakeObject<NotesCommentsLayoutingOptions>();
notesOptions->set_NotesPosition(NotesPositions::BottomFull);
auto pdfOptions = MakeObject<PdfOptions>();
pdfOptions->set_SlidesLayoutOptions(notesOptions);
// Spara presentationen till en PDF med anteckningar.
presentation->Save(u"PDF_with_notes.tiff", SaveFormat::Pdf, pdfOptions);
presentation->Dispose();
Tillgänglighet och efterlevnadsstandarder för PDF
Aspose.Slides låter dig använda en konverteringsprocedur som följer Web Content Accessibility Guidelines (WCAG). Du kan exportera ett PowerPoint‑dokument till PDF med någon av dessa efterlevnadsstandarder: PDF/A1a, PDF/A1b och PDF/UA.
Denna C++‑kod demonstrerar en PowerPoint‑till‑PDF‑konverteringsprocess som producerar flera PDF‑filer baserat på olika efterlevnadsstandarder:
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();
Obs
Aspose.Slides stöder PDF‑konverteringsoperationer, så att du kan konvertera PDF‑filer till populära filformat. Du kan utföra PDF till HTML, PDF till bild, PDF till JPG och PDF till PNG‑konverteringar. Andra PDF‑konverteringsoperationer till specialiserade format—PDF till SVG, PDF till TIFF, och PDF till XML—stöds också.Obs: När du exporterar till PDF/UA behandlar Aspose.Slides komplex grafik såsom SmartArt, diagram och formler som en enda figur. Enskilda element i sökvägen bevaras inte som separat innehåll och kan märkas som artefakter; alternativ text tillhandahålls endast för hela figuren.
FAQ
Kan jag konvertera flera PowerPoint‑filer till PDF i bulk?
Ja, Aspose.Slides stöder batch‑konvertering av flera PPT‑ eller PPTX‑filer till PDF. Du kan iterera genom dina filer och applicera konverteringsprocessen programmässigt.
Är det möjligt att lösenordsskydda den konverterade PDF‑en?
Absolut. Använd PdfOptions-klassen för att sätta ett lösenord och definiera åtkomstbehörigheter under konverteringsprocessen.
Hur inkluderar jag dolda bilder i PDF‑en?
Använd metoden set_ShowHiddenSlides i PdfOptions-klassen för att inkludera dolda bilder i den resulterande PDF‑en.
Kan Aspose.Slides behålla hög bildkvalitet i PDF‑en?
Ja, du kan styra bildkvaliteten genom metoder som set_JpegQuality och set_SufficientResolution i PdfOptions-klassen för att säkerställa högkvalitativa bilder i din PDF.
Stöder Aspose.Slides PDF/A‑efterlevnadsstandarder?
Ja, Aspose.Slides låter dig exportera PDF‑filer som följer olika standarder, inklusive PDF/A1a, PDF/A1b och PDF/UA, vilket säkerställer att dina dokument uppfyller tillgänglighets- och arkiveringskrav.