Converti PPT e PPTX in PDF con JavaScript [Funzionalità Avanzate Incluse]
Panoramica
Convertire presentazioni PowerPoint e OpenDocument (PPT, PPTX, ODP, ecc.) in formato PDF con JavaScript 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, utilizzare varie opzioni per controllare la qualità delle immagini, includere diapositive nascoste, proteggere con password i file PDF, rilevare le sostituzioni di font, 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 le 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 utilizzando il metodo save. La classe Presentation espone il metodo save che viene tipicamente usato per convertire una presentazione in PDF.
Nota
Aspose.Slides per Node.js via Java inserisce le informazioni sull’API e il numero di versione nei documenti di output. Ad esempio, convertendo 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 fedelmente alle presentazioni originali. Gli elementi e gli attributi vengono renderizzati accuratamente nella conversione, inclusi:
- Immagini
- Caselle di testo e forme
- Formattazione del testo
- Formattazione del paragrafo
- Collegamenti ipertestuali
- Intestazioni e piè di pagina
- Puntini elenco
- 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 utilizzando impostazioni ottimali ai massimi livelli di qualità.
L’esempio seguente carica una presentazione e salva tutte le diapositive visibili in PDF utilizzando le impostazioni di esportazione predefinite.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let presentation = new aspose.slides.Presentation("PowerPoint.ppt");
try {
presentation.save("PPT-to-PDF.pdf", aspose.slides.SaveFormat.Pdf);
} finally {
presentation.dispose();
}
Nota
Aspose offre un convertitore online gratuito convertitore da PowerPoint a PDF che dimostra il processo di conversione da presentazione a PDF. È possibile eseguire un test con questo convertitore per una implementazione dal vivo della procedura descritta qui.Convertire PowerPoint in PDF con Opzioni
Aspose.Slides fornisce opzioni personalizzate—proprietà della classe PdfOptions—che consentono di personalizzare il PDF risultante, proteggere il PDF con una password o specificare come deve procedere il processo di conversione.
Convertire PowerPoint in PDF con Opzioni Personalizzate
Utilizzando le opzioni di conversione personalizzate, è possibile definire l’impostazione di qualità preferita per le immagini raster, specificare come gestire i metafili, impostare un livello di compressione per il testo, configurare i DPI per le immagini e altro ancora.
L’esempio seguente esporta una presentazione in PDF 1.5 con qualità JPEG impostata a 90, risoluzione immagine a 300 DPI, metafili salvati come PNG e compressione del testo Flate.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setJpegQuality(java.newByte(90));
pdfOptions.setSufficientResolution(300);
pdfOptions.setSaveMetafilesAsPng(true);
pdfOptions.setTextCompression(aspose.slides.PdfTextCompression.Flate);
pdfOptions.setCompliance(aspose.slides.PdfCompliance.Pdf15);
let presentation = new aspose.slides.Presentation("PowerPoint.pptx");
try {
presentation.save("PowerPoint-to-PDF.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Selezionare Automaticamente la Compressione delle Immagini
Quando una presentazione contiene molte fotografie o screenshot, ridurre le dimensioni del PDF esportato può semplificarne l’invio via email o il download. Chiamare PdfOptions.setBestImagesCompressionRatio con true per selezionare automaticamente l’algoritmo di compressione più appropriato per ciascuna immagine durante l’esportazione in PDF.
L’esempio seguente carica una presentazione esistente, abilita la selezione automatica della compressione delle immagini e la salva come documento PDF. Tutte le altre impostazioni di esportazione PDF mantengono i valori predefiniti.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setBestImagesCompressionRatio(true);
let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
presentation.save("presentation.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Questa opzione seleziona un algoritmo di compressione per ogni immagine. Riducendo il valore passato a setJpegQuality diminuisce invece la qualità delle immagini JPEG, mentre riducendo il valore passato a setSufficientResolution le immagini vengono sottocampionate a una risoluzione inferiore, il che può ridurre i dettagli. L’abilitazione della selezione automatica della compressione non abbassa di per sé nessuna di queste impostazioni.
La selezione degli algoritmi di compressione delle immagini richiede tempo di elaborazione e memoria aggiuntivi. La riduzione delle dimensioni dipende dalle immagini della presentazione e dalle impostazioni di esportazione; una riduzione fissa non è garantita per ogni presentazione.
Conservare i File OLE Incorporati come Allegati PDF
Se una presentazione contiene una cartella di lavoro Excel incorporata, potrebbe essere desiderato che i destinatari del PDF possano accedere ai dati della cartella oltre a visualizzare le diapositive. Chiamare setIncludeOleData con true per conservare i file OLE incorporati come allegati nel PDF risultante.
Il valore predefinito è false: l’immagine di anteprima o l’icona dell’oggetto OLE viene renderizzata nella pagina PDF, ma il file incorporato non è incluso come allegato. Impostare l’opzione su true include inoltre i dati del file. L’anteprima rimane una rappresentazione visiva; l’allegato consente ai destinatari di aprire o salvare il file incorporato separatamente. L’oggetto OLE non diventa un foglio di lavoro Excel interattivo nella pagina PDF.
L’esempio seguente carica una presentazione che contiene già una cartella di lavoro Excel incorporata e la esporta in PDF con la cartella allegata.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setIncludeOleData(true);
let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
presentation.save("presentation.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Per verificare il risultato:
- Aprire il PDF esportato con un visualizzatore che supporta gli allegati, come Adobe Acrobat Reader.
- Aprire il pannello Allegati del visualizzatore e individuare la cartella di lavoro incorporata.
- Salvare l’allegato e aprirlo in Excel per ispezionare i dati, oppure aprirlo direttamente se il visualizzatore lo consente. L’anteprima nella pagina PDF è separata dall’allegato.
Nota
Le norme PDF/A impongono restrizioni sugli allegati: PDF/A-1 vieta i file incorporati, PDF/A-2 permette solo allegati PDF/A, e PDF/A-3 consente altri tipi di file, incluse le cartelle di lavoro Excel. Questi sono requisiti degli standard, non restrizioni specifiche di Aspose.Slides. Questo esempio utilizza l’impostazione predefinita di conformità PDF e non dimostra l’esportazione PDF/A.Convertire PowerPoint in PDF con Diapositive Nascoste
Se una presentazione contiene diapositive nascoste, è possibile utilizzare il metodo setShowHiddenSlides della classe PdfOptions per includere le diapositive nascoste come pagine nel PDF risultato.
L’esempio seguente esporta una presentazione in PDF, includendo eventuali diapositive nascoste.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setShowHiddenSlides(true);
let presentation = new aspose.slides.Presentation("PowerPoint.pptx");
try {
presentation.save("PowerPoint-to-PDF.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Convertire PowerPoint in un PDF Protetto da Password
L’esempio seguente esporta una presentazione in un PDF che richiede la password password per l’apertura. Le autorizzazioni di accesso consentono la stampa, inclusa la stampa ad alta qualità.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setPassword("password");
pdfOptions.setAccessPermissions(aspose.slides.PdfAccessPermissions.PrintDocument | aspose.slides.PdfAccessPermissions.HighQualityPrint);
let presentation = new aspose.slides.Presentation("PowerPoint.pptx");
try {
presentation.save("PPTX-to-PDF.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Rilevare le Sostituzioni di Font
Aspose.Slides fornisce il metodo setWarningCallback della classe PdfOptions che consente di rilevare le sostituzioni di font durante il processo di conversione da presentazione a PDF.
L’esempio seguente esporta una presentazione in PDF e stampa gli avvisi di sostituzione dei font nella console. Un avviso viene stampato solo quando un font non disponibile viene sostituito durante l’esportazione.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");
const FontSubstitutionHandler = java.newProxy("com.aspose.slides.IWarningCallback", {
warning: function (warning) {
if (warning.getWarningType() === aspose.slides.WarningType.DataLoss && warning.getDescription().startsWith("Font will be substituted")) {
console.warn("Font substitution warning: " + warning.getDescription());
}
return aspose.slides.ReturnAction.Continue;
}
});
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setWarningCallback(FontSubstitutionHandler);
let presentation = new aspose.slides.Presentation("sample.pptx");
try {
presentation.save("output.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Nota
Per ulteriori informazioni sulla sostituzione dei font, vedere l’articolo Sostituzione dei Font.Gestire i Font Senza Un Tipo di Carattere Grassetto Dedicato
Una presentazione può applicare la formattazione grassetto al testo anche se il suo font non ha un tipo di carattere grassetto dedicato. Il testo può comunque apparire in grassetto grazie al grassetto sintetico, che ispessisce artificialmente i glifi regolari. Quando quel testo risulta troppo pesante o differente dall’aspetto previsto nel PDF, provare a chiamare PdfOptions.setRasterizeUnsupportedFontStyles con true. Questa opzione renderizza il testo interessato come una bitmap durante l’esportazione in PDF e può migliorare il suo aspetto per alcuni font. Il valore predefinito è false.
La presentazione di esempio contiene due caselle di testo: una con testo normale e una con formattazione grassetto applicata allo stesso font, che non ha un tipo di carattere grassetto dedicato. L’esempio seguente carica la presentazione, abilita la rasterizzazione degli stili di font non supportati e la esporta in PDF:
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setRasterizeUnsupportedFontStyles(true);
let presentation = new aspose.slides.Presentation("unsupported-bold.pptx");
try {
presentation.save("rasterized.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Le anteprime seguenti mostrano l’output con l’opzione disabilitata e quello con l’opzione abilitata. In questo esempio, il testo in grassetto ha tratti più spessi con l’opzione disabilitata. Con l’opzione abilitata, i tratti sono più leggeri; il testo normale rimane invariato. Confronta i risultati prima di scegliere l’impostazione per la tua presentazione.
Opzione disabilitata (false, predefinita) |
Opzione abilitata (true) |
|---|---|
![]() |
![]() |
In questo esempio, l’abilitazione dell’opzione converte solo il testo in grassetto in una bitmap: non può essere selezionato, copiato o ricercato come testo senza OCR, e i suoi bordi appaiono più morbidi allo zoom 800%. Il testo normale rimane ricercabile. Con l’opzione disabilitata, entrambe le stringhe rimangono testo.
Questa opzione rasterizza il testo formattato in grassetto quando il suo font non ha un tipo di carattere grassetto dedicato. Sostituzione dei Font invece seleziona un altro font quando quello originale non è disponibile.
Convertire Diapositive Selezionate da PowerPoint in PDF
L’esempio seguente esporta le diapositive 1 e 3 di una presentazione in PDF. I numeri delle diapositive in questo array partono da 1, e la presentazione di input deve contenere almeno tre diapositive.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");
let presentation = new aspose.slides.Presentation("PowerPoint.pptx");
try {
let slides = java.newArray("int", [1, 3]);
presentation.save("PPTX-to-PDF.pdf", slides, aspose.slides.SaveFormat.Pdf);
} finally {
presentation.dispose();
}
Convertire PowerPoint in PDF con Dimensione Diapositiva Personalizzata
L’esempio seguente copia la prima diapositiva di una presentazione in una nuova presentazione con dimensione diapositiva di 612 × 792 punti (8,5 × 11 pollici). Scala il contenuto della diapositiva per adattarlo ed esporta la singola diapositiva in PDF.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const slideWidth = 612;
const slideHeight = 792;
let presentation = new aspose.slides.Presentation("SelectedSlides.pptx");
let resizedPresentation = new aspose.slides.Presentation();
try {
resizedPresentation.getSlideSize().setSize(slideWidth, slideHeight, aspose.slides.SlideSizeScaleType.EnsureFit);
let slide = presentation.getSlides().get_Item(0);
resizedPresentation.getSlides().insertClone(0, slide);
// Rimuovi la diapositiva vuota con cui è stata creata la nuova presentazione.
resizedPresentation.getSlides().removeAt(1);
resizedPresentation.save("PDF_with_custom_slide_size.pdf", aspose.slides.SaveFormat.Pdf);
} finally {
resizedPresentation.dispose();
presentation.dispose();
}
Convertire PowerPoint in PDF nella Visualizzazione Note Diapositiva
L’esempio seguente esporta una presentazione in PDF, posizionando le note del relatore di ciascuna diapositiva sotto la diapositiva stessa. Utilizzare una presentazione contenente note del relatore per vedere il risultato.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let notesOptions = new aspose.slides.NotesCommentsLayoutingOptions();
notesOptions.setNotesPosition(aspose.slides.NotesPositions.BottomFull);
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setSlidesLayoutOptions(notesOptions);
let presentation = new aspose.slides.Presentation("SelectedSlides.pptx");
try {
presentation.save("PDF_with_notes.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Standard di Accessibilità e Conformità per PDF
Aspose.Slides consente di utilizzare una procedura di conversione conforme alle Linee Guida per l’Accessibilità dei Contenuti Web (WCAG). È possibile esportare un documento PowerPoint in PDF utilizzando uno di questi standard di conformità: PDF/A1a, PDF/A1b e PDF/UA.
Questo codice dimostra un processo di conversione da PowerPoint a PDF che produce più PDF basati su diversi standard di conformità:
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let presentation = new aspose.slides.Presentation("pres.pptx");
try {
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setCompliance(aspose.slides.PdfCompliance.PdfA1a);
presentation.save("pres-a1a-compliance.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
pdfOptions.setCompliance(aspose.slides.PdfCompliance.PdfA1b);
presentation.save("pres-a1b-compliance.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
pdfOptions.setCompliance(aspose.slides.PdfCompliance.PdfUa);
presentation.save("pres-ua-compliance.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Nota
Aspose.Slides supporta operazioni di conversione PDF, consentendo di convertire i file PDF in formati popolari. È possibile eseguire conversioni da PDF a HTML, da PDF a JPG, e da PDF a PNG. Altre operazioni di conversione PDF in formati specializzati—da PDF a SVG, da PDF a TIFF—sono anch’esse supportate.Nota: Quando si esporta in PDF/UA, Aspose.Slides tratta grafica complessa come SmartArt, grafici 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 batch?
Sì, Aspose.Slides supporta la conversione batch di più file PPT o PPTX in PDF. È possibile iterare sui propri file e applicare il processo di conversione programmaticamente.
È possibile proteggere con password il PDF convertito?
Sì. Utilizzare la classe PdfOptions per impostare una password e definire le autorizzazioni di accesso durante il processo di conversione.
Come includere le diapositive nascoste nel PDF?
Chiamare setShowHiddenSlides con true 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 utilizzando metodi come setJpegQuality e setSufficientResolution nella classe PdfOptions per garantire immagini ad alta qualità nel PDF.
Aspose.Slides supporta gli standard di conformità PDF/A?
Sì, Aspose.Slides consente di esportare PDF conformi a vari standard, inclusi PDF/A1a, PDF/A1b e PDF/UA, garantendo che i documenti soddisfino i requisiti di accessibilità e archiviazione.

