Converti PPT e PPTX in PDF in C++ [Funzionalità Avanzate Incluse]
Panoramica
Convertire presentazioni PowerPoint (PPT, PPTX, ODP, ecc.) in formato PDF in C++ offre diversi vantaggi, tra cui la compatibilità su diversi dispositivi e la conservazione del layout e della formattazione della presentazione. Questa guida dimostra come convertire le presentazioni in documenti PDF, usare varie opzioni per controllare la qualità delle immagini, includere diapositive nascoste, proteggere con password i file PDF, rilevare le sostituzioni dei caratteri, selezionare diapositive specifiche per la conversione e applicare standard di conformità ai documenti di output.
Conversioni da PowerPoint a PDF
Con Aspose.Slides, è possibile convertire presentazioni nei seguenti formati in PDF:
- PPT
- PPTX
- ODP
Per convertire una presentazione in PDF, passare il nome del file come argomento alla classe Presentation e quindi salvare la presentazione come PDF usando il metodo Save. La classe Presentation espone il metodo Save tipicamente usato per convertire una presentazione in PDF.
NOTE
Aspose.Slides per C++ inserisce le informazioni sull’API e il numero di versione nei documenti di output. Ad esempio, durante la conversione di una presentazione in PDF, Aspose.Slides popola il campo Application con “Aspose.Slides” e il campo PDF Producer con un valore nella forma “Aspose.Slides v XX.XX”. Nota che non è possibile istruire Aspose.Slides a modificare o rimuovere queste informazioni dai documenti di output.Aspose.Slides consente di convertire:
- Intere presentazioni in PDF
- Diapositive specifiche di una presentazione in PDF
Aspose.Slides esporta le presentazioni in PDF, garantendo che i PDF risultanti corrispondano strettamente alle presentazioni originali. Gli elementi e gli attributi vengono renderizzati accuratamente nella conversione, inclusi:
- Immagini
- Caselle di testo e forme
- Formattazione del testo
- Formattazione dei paragrafi
- Collegamenti ipertestuali
- Intestazioni e piè di pagina
- Elenchi puntati
- Tabelle
Convertire PowerPoint in PDF
Il processo standard di conversione da PowerPoint a PDF utilizza le opzioni predefinite. In questo caso, Aspose.Slides tenta di convertire la presentazione fornita in PDF usando impostazioni ottimali ai massimi livelli di qualità.
Questo codice C++ mostra come convertire una presentazione (PPT, PPTX, ODP, ecc.) in PDF:
// Instanzia la classe Presentation che rappresenta un file PowerPoint o OpenDocument.
auto presentation = MakeObject<Presentation>(u"PowerPoint.ppt");
// Salva la presentazione come PDF.
presentation->Save(u"PPT-to-PDF.pdf", SaveFormat::Pdf);
presentation->Dispose();
Convertire PowerPoint in PDF con Opzioni
Aspose.Slides fornisce opzioni personalizzate—proprietà nella classe PdfOptions—che consentono di personalizzare il PDF risultante, bloccarlo con una password o specificare come deve procedere il processo di conversione.
Convertire PowerPoint in PDF con Opzioni Personalizzate
Utilizzando opzioni di conversione personalizzate, è possibile definire l’impostazione di qualità preferita per le immagini raster, specificare come gestire i metafile, impostare un livello di compressione per il testo, configurare DPI per le immagini e altro ancora.
L’esempio di codice sottostante dimostra come convertire una presentazione PowerPoint in PDF con diverse opzioni personalizzate.
// Instanzia la classe PdfOptions.
auto pdfOptions = MakeObject<PdfOptions>();
// Imposta la qualità per le immagini JPG.
pdfOptions->set_JpegQuality(90);
// Imposta DPI per le immagini.
pdfOptions->set_SufficientResolution(300);
// Imposta il comportamento per i metafili.
pdfOptions->set_SaveMetafilesAsPng(true);
// Imposta il livello di compressione del testo per il contenuto testuale.
pdfOptions->set_TextCompression(PdfTextCompression::Flate);
// Definisci la modalità di conformità PDF.
pdfOptions->set_Compliance(PdfCompliance::Pdf15);
// Instanzia la classe Presentation che rappresenta un file PowerPoint o OpenDocument.
auto presentation = MakeObject<Presentation>(u"PowerPoint.pptx");
// Salva la presentazione come documento PDF.
presentation->Save(u"PowerPoint-to-PDF.pdf", SaveFormat::Pdf, pdfOptions);
presentation->Dispose();
Convertire PowerPoint in PDF con Diapositive Nascoste
Se una presentazione contiene diapositive nascoste, è possibile utilizzare il metodo set_ShowHiddenSlides della classe PdfOptions per includere le diapositive nascoste come pagine nel PDF risultante.
Questo codice C++ mostra come convertire una presentazione PowerPoint in PDF includendo le diapositive nascoste:
// Instanzia la classe Presentation che rappresenta un file PowerPoint o OpenDocument.
auto presentation = MakeObject<Presentation>(u"PowerPoint.pptx");
// Instanzia la classe PdfOptions.
auto pdfOptions = MakeObject<PdfOptions>();
// Aggiungi diapositive nascoste.
pdfOptions->set_ShowHiddenSlides(true);
// Salva la presentazione come PDF.
presentation->Save(u"PowerPoint-to-PDF.pdf", SaveFormat::Pdf, pdfOptions);
presentation->Dispose();
Convertire PowerPoint in PDF Protetto da Password
Questo codice C++ dimostra come convertire una presentazione PowerPoint in un PDF protetto da password utilizzando i parametri di protezione della classe PdfOptions:
// Instanzia la classe Presentation che rappresenta un file PowerPoint o OpenDocument.
auto presentation = MakeObject<Presentation>(u"PowerPoint.pptx");
// Instanzia la classe PdfOptions.
auto pdfOptions = MakeObject<PdfOptions>();
// Imposta una password PDF e i permessi di accesso.
pdfOptions->set_Password(u"password");
pdfOptions->set_AccessPermissions(PdfAccessPermissions::PrintDocument | PdfAccessPermissions::HighQualityPrint);
// Salva la presentazione come PDF.
presentation->Save(u"PPTX-to-PDF.pdf", SaveFormat::Pdf, pdfOptions);
presentation->Dispose();
Rilevare Sostituzioni di Caratteri
Aspose.Slides fornisce il metodo set_WarningCallback nella classe PdfOptions che consente di rilevare le sostituzioni di caratteri durante il processo di conversione da presentazione a PDF.
Questo codice C++ mostra come rilevare le sostituzioni di caratteri:
// Implementazione del callback di avviso.
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()
{
// Instanzia la classe Presentation che rappresenta un file PowerPoint o OpenDocument.
auto presentation = MakeObject<Presentation>(u"sample.pptx");
// Imposta il callback di avviso nelle opzioni PDF.
auto pdfOptions = MakeObject<PdfOptions>();
pdfOptions->set_WarningCallback(MakeObject<FontSubstitutionHandler>());
// Salva la presentazione come PDF.
presentation->Save(u"output.pdf", SaveFormat::Pdf, pdfOptions);
presentation->Dispose();
return 0;
}
Per ulteriori informazioni su come ricevere callback per le sostituzioni di caratteri durante il rendering, vedere Getting Warning Callbacks for Fonts Substitution.
Per ulteriori informazioni sulla sostituzione dei caratteri, vedere l’articolo Font Substitution.
Convertire Diapositive Selezionate da PowerPoint in PDF
Questo codice C++ dimostra come convertire solo diapositive specifiche da una presentazione PowerPoint in PDF:
// Instanzia la classe Presentation che rappresenta un file PowerPoint o OpenDocument.
auto presentation = MakeObject<Presentation>(u"PowerPoint.pptx");
// Imposta l'array di numeri diapositive.
auto slides = MakeArray<int32_t>({ 1, 3 });
// Salva la presentazione come PDF.
presentation->Save(u"PPTX-to-PDF.pdf", slides, SaveFormat::Pdf);
presentation->Dispose();
Convertire PowerPoint in PDF con Dimensione Diapositiva Personalizzata
Questo codice C++ dimostra come convertire una presentazione PowerPoint in PDF con una dimensione diapositiva specificata:
auto slideWidth = 612;
auto slideHeight = 792;
// Instanzia la classe Presentation che rappresenta un file PowerPoint o OpenDocument.
auto presentation = MakeObject<Presentation>(u"SelectedSlides.pptx");
// Crea una nuova presentazione con una dimensione diapositiva regolata.
auto resizedPresentation = MakeObject<Presentation>();
// Imposta la dimensione diapositiva personalizzata.
resizedPresentation->get_SlideSize()->SetSize(slideWidth, slideHeight, SlideSizeScaleType::EnsureFit);
// Clona la prima diapositiva dalla presentazione originale.
auto slide = presentation->get_Slide(0);
resizedPresentation->get_Slides()->InsertClone(0, slide);
// Salva la presentazione ridimensionata in PDF con note.
resizedPresentation->Save(u"PDF_with_notes.pdf", SaveFormat::Pdf);
resizedPresentation->Dispose();
presentation->Dispose();
Convertire PowerPoint in PDF in Vista Note della Diapositiva
Questo codice C++ dimostra come convertire una presentazione PowerPoint in un PDF che include le note:
// Instanzia la classe Presentation che rappresenta un file PowerPoint o OpenDocument.
auto presentation = MakeObject<Presentation>(u"SelectedSlides.pptx");
// Configura le opzioni PDF con layout delle note.
auto notesOptions = MakeObject<NotesCommentsLayoutingOptions>();
notesOptions->set_NotesPosition(NotesPositions::BottomFull);
auto pdfOptions = MakeObject<PdfOptions>();
pdfOptions->set_SlidesLayoutOptions(notesOptions);
// Salva la presentazione in PDF con note.
presentation->Save(u"PDF_with_notes.tiff", SaveFormat::Pdf, pdfOptions);
presentation->Dispose();
Accessibilità e Standard di Conformità per PDF
Aspose.Slides consente di utilizzare una procedura di conversione che rispetta le Web Content Accessibility Guidelines (WCAG). È possibile esportare un documento PowerPoint in PDF usando uno di questi standard di conformità: PDF/A1a, PDF/A1b e PDF/UA.
Questo codice C++ dimostra un processo di conversione da PowerPoint a PDF che produce più PDF basati su diversi standard di conformità:
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();
Note
Aspose.Slides supporta operazioni di conversione PDF, consentendo di convertire file PDF in formati di file popolari. È possibile eseguire conversioni PDF to HTML, PDF to image, PDF to JPG, e PDF to PNG. Altre operazioni di conversione PDF verso formati specializzati—PDF to SVG, PDF to TIFF, e PDF to XML—sono anch’esse supportate.Nota: Quando si esporta in PDF/UA, Aspose.Slides tratta grafica complessa come SmartArt, diagrammi e formule come una singola figura. Gli elementi di percorso individuali non sono conservati come contenuto separato e possono essere contrassegnati come artefatti; il testo alternativo è fornito solo per l’intera figura.
FAQ
Posso convertire più file PowerPoint in PDF in blocco?
Sì, Aspose.Slides supporta la conversione batch di più file PPT o PPTX in PDF. È possibile iterare sui file e applicare il processo di conversione programmaticamente.
È possibile proteggere con password il PDF convertito?
Assolutamente. Utilizzare la classe PdfOptions per impostare una password e definire i permessi di accesso durante il processo di conversione.
Come includere le diapositive nascoste nel PDF?
Utilizzare il metodo set_ShowHiddenSlides nella classe PdfOptions per includere le diapositive nascoste nel PDF risultante.
Aspose.Slides può mantenere alta qualità delle immagini nel PDF?
Sì, è possibile controllare la qualità delle immagini usando metodi come set_JpegQuality e set_SufficientResolution nella classe PdfOptions per garantire immagini di alta qualità nel PDF.
Aspose.Slides supporta gli standard di conformità PDF/A?
Sì, Aspose.Slides consente di esportare PDF che rispettano vari standard, tra cui PDF/A1a, PDF/A1b e PDF/UA, garantendo che i documenti soddisfino i requisiti di accessibilità e archiviazione.