Convertir PPT y PPTX a PDF en JavaScript [Funciones avanzadas incluidas]

Resumen

Convertir presentaciones PowerPoint y OpenDocument (PPT, PPTX, ODP, etc.) a formato PDF con JavaScript ofrece varias ventajas, incluida la compatibilidad entre dispositivos y la preservación del diseño y formato de la presentación. Esta guía muestra cómo convertir presentaciones a documentos PDF, usar diversas opciones para controlar la calidad de imagen, incluir diapositivas ocultas, proteger con contraseña los archivos PDF, detectar sustituciones de fuentes, seleccionar diapositivas específicas para la conversión y aplicar normas de cumplimiento a los documentos de salida.

Conversiones de PowerPoint a PDF

Con Aspose.Slides, puedes convertir presentaciones en los siguientes formatos a PDF:

  • PPT
  • PPTX
  • ODP

Para convertir una presentación a PDF, pasa el nombre del archivo como argumento a la clase Presentation y luego guarda la presentación como PDF usando un método save. La clase Presentation expone el método save que normalmente se usa para convertir una presentación a PDF.

Aspose.Slides permite convertir:

  • Presentaciones completas a PDF
  • Diapositivas específicas de una presentación a PDF

Aspose.Slides exporta presentaciones a PDF, garantizando que los PDF resultantes coincidan estrechamente con las presentaciones originales. Los elementos y atributos se renderizan con precisión en la conversión, incluidos:

  • Imágenes
  • Cuadros de texto y formas
  • Formato de texto
  • Formato de párrafo
  • Hipervínculos
  • Cabeceras y pies de página
  • Viñetas
  • Tablas

Convertir PowerPoint a PDF

El proceso estándar de conversión de PowerPoint a PDF utiliza opciones predeterminadas. En este caso, Aspose.Slides intenta convertir la presentación proporcionada a PDF usando configuraciones óptimas en los niveles máximos de calidad.

Este código muestra cómo convertir una presentación (PPT, PPTX, ODP, etc.) a PDF:

// Instanciar la clase Presentation que representa un archivo PowerPoint u OpenDocument.
let presentation = new aspose.slides.Presentation("PowerPoint.ppt");
try {
    // Guardar la presentación como PDF.
    presentation.save("PPT-to-PDF.pdf", aspose.slides.SaveFormat.Pdf);
} finally {
    presentation.dispose();
}

Convertir PowerPoint a PDF con Opciones

Aspose.Slides proporciona opciones personalizadas —propiedades bajo la clase PdfOptions— que permiten personalizar el PDF resultante, bloquear el PDF con una contraseña o especificar cómo debe proceder el proceso de conversión.

Convertir PowerPoint a PDF con Opciones Personalizadas

Usando opciones de conversión personalizadas, puedes definir tu configuración de calidad preferida para imágenes raster, especificar cómo se deben manejar los metarchivos, establecer un nivel de compresión para texto, configurar DPI para imágenes y más.

El ejemplo de código a continuación demuestra cómo convertir una presentación PowerPoint a PDF con varias opciones personalizadas.

// Instanciar la clase PdfOptions.
let pdfOptions = new aspose.slides.PdfOptions();

// Set the quality for JPG images.
pdfOptions.setJpegQuality(java.newByte(90));

// Set DPI for images.
pdfOptions.setSufficientResolution(300);

// Set the behavior for metafiles.
pdfOptions.setSaveMetafilesAsPng(true);

// Set the text compression level for textual content.
pdfOptions.setTextCompression(aspose.slides.PdfTextCompression.Flate);

// Define the PDF compliance mode.
pdfOptions.setCompliance(aspose.slides.PdfCompliance.Pdf15);

// Instanciar la clase Presentation que representa un archivo PowerPoint u OpenDocument file.
let presentation = new aspose.slides.Presentation("PowerPoint.pptx");
try {
    // Guardar la presentación como documento PDF.
    presentation.save("PowerPoint-to-PDF.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
    presentation.dispose();
}

Convertir PowerPoint a PDF con Diapositivas Ocultas

Si una presentación contiene diapositivas ocultas, puedes usar el método setShowHiddenSlides de la clase PdfOptions para incluir las diapositivas ocultas como páginas en el PDF resultante.

Este código JavaScript muestra cómo convertir una presentación PowerPoint a PDF con las diapositivas ocultas incluidas:

// Instanciar la clase Presentation que representa un archivo PowerPoint u OpenDocument.
let presentation = new aspose.slides.Presentation("PowerPoint.pptx");
try {
    // Instanciar la clase PdfOptions.
    let pdfOptions = new aspose.slides.PdfOptions();

    // Agregar diapositivas ocultas.
    pdfOptions.setShowHiddenSlides(true);

    // Guardar la presentación como PDF.
    presentation.save("PowerPoint-to-PDF.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
    presentation.dispose();
}

Convertir PowerPoint a PDF Protegido con Contraseña

Este código JavaScript demuestra cómo convertir una presentación PowerPoint en un PDF protegido con contraseña usando los parámetros de protección de la clase PdfOptions:

// Instanciar la clase Presentation que representa un archivo PowerPoint u OpenDocument.
let presentation = new aspose.slides.Presentation("PowerPoint.pptx");
try {
    // Instanciar la clase PdfOptions.
    let pdfOptions = new aspose.slides.PdfOptions();

    // Establecer una contraseña PDF y permisos de acceso.
    pdfOptions.setPassword("password");
    pdfOptions.setAccessPermissions(aspose.slides.PdfAccessPermissions.PrintDocument | aspose.slides.PdfAccessPermissions.HighQualityPrint);

    // Guardar la presentación como PDF.
    presentation.save("PPTX-to-PDF.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
    presentation.dispose();
}

Detectar Sustituciones de Fuentes

Aspose.Slides proporciona el método setWarningCallback bajo la clase PdfOptions, que permite detectar sustituciones de fuentes durante el proceso de conversión de presentación a PDF.

Este código JavaScript muestra cómo detectar sustituciones de fuentes:

// Establecer la devolución de llamada de advertencia en las opciones PDF.
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setWarningCallback(FontSubstitutionHandler);

// Instanciar la clase Presentation que representa un archivo PowerPoint u OpenDocument file.
let presentation = new aspose.slides.Presentation("sample.pptx");

// Guardar la presentación como PDF.
presentation.save("output.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
presentation.dispose();
const FontSubstitutionHandler = java.newProxy("com.aspose.slides.IWarningCallback", {
	warning: function (warning) {
		if (warning.getWarningType() === aspose.slides.WarningType.DataLoss) {
			console.warn("Font substitution warning: " + warning.getDescription());
		}
		return aspose.slides.ReturnAction.Continue;
	}
});

Convertir Diapositivas Seleccionadas de PowerPoint a PDF

Este código JavaScript muestra cómo convertir solo diapositivas específicas de una presentación PowerPoint a PDF:

// Instanciar la clase Presentation que representa un archivo PowerPoint u OpenDocument.
let presentation = new aspose.slides.Presentation("PowerPoint.pptx");
try {
    // Establecer matriz de números de diapositiva.
    let slides = java.newArray("int", [1, 3]);

    // Guardar la presentación como PDF.
    presentation.save("PPTX-to-PDF.pdf", slides, aspose.slides.SaveFormat.Pdf);
} finally {
    presentation.dispose();
}

Convertir PowerPoint a PDF con Tamaño de Diapositiva Personalizado

Este código JavaScript muestra cómo convertir una presentación PowerPoint a PDF con un tamaño de diapositiva especificado:

const slideWidth = 612;
const slideHeight = 792;

// Instanciar la clase Presentation que representa un archivo PowerPoint u OpenDocument.
let presentation = new aspose.slides.Presentation("SelectedSlides.pptx");

// Crear una nueva presentación con un tamaño de diapositiva ajustado.
let resizedPresentation = new aspose.slides.Presentation();

try {
    // Establecer el tamaño de diapositiva personalizado.
    resizedPresentation.getSlideSize().setSize(slideWidth, slideHeight, aspose.slides.SlideSizeScaleType.EnsureFit);

    // Clonar la primera diapositiva de la presentación original.
    let slide = presentation.getSlides().get_Item(0);
    resizedPresentation.getSlides().insertClone(0, slide);

    // Guardar la presentación redimensionada en un PDF con notas.
    resizedPresentation.save("PDF_with_notes.pdf", aspose.slides.SaveFormat.Pdf);
} finally {
    resizedPresentation.dispose();
    presentation.dispose();
}

Convertir PowerPoint a PDF en Vista de Diapositiva de Notas

Este código JavaScript muestra cómo convertir una presentación PowerPoint a un PDF que incluye notas:

// Instanciar la clase Presentation que representa un archivo PowerPoint u OpenDocument.
let presentation = new aspose.slides.Presentation("SelectedSlides.pptx");
try {
    // Configurar las opciones PDF con diseño de notas.
    let notesOptions = new aspose.slides.NotesCommentsLayoutingOptions();
    notesOptions.setNotesPosition(aspose.slides.NotesPositions.BottomFull);
    let pdfOptions = new aspose.slides.PdfOptions();
    pdfOptions.setSlidesLayoutOptions(notesOptions);

    // Guardar la presentación en un PDF con notas.
    presentation.save("PDF_with_notes.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
    presentation.dispose();
}

Accesibilidad y Normas de Cumplimiento para PDF

Aspose.Slides permite usar un procedimiento de conversión que cumple con las Directrices de Accesibilidad al Contenido Web (WCAG). Puedes exportar un documento PowerPoint a PDF usando cualquiera de estas normas de cumplimiento: PDF/A1a, PDF/A1b y PDF/UA.

Este código JavaScript demuestra un proceso de conversión de PowerPoint a PDF que produce varios PDF según diferentes normas de cumplimiento:

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();
}

FAQ

¿Puedo convertir varios archivos PowerPoint a PDF en lote?

Sí, Aspose.Slides admite la conversión por lotes de varios archivos PPT o PPTX a PDF. Puedes iterar sobre tus archivos y aplicar el proceso de conversión de forma programática.

¿Es posible proteger con contraseña el PDF convertido?

Absolutamente. Utiliza la clase PdfOptions para establecer una contraseña y definir permisos de acceso durante el proceso de conversión.

¿Cómo incluyo diapositivas ocultas en el PDF?

Usa el método setShowHiddenSlides en la clase PdfOptions para incluir diapositivas ocultas en el PDF resultante.

¿Puede Aspose.Slides mantener una alta calidad de imagen en el PDF?

Sí, puedes controlar la calidad de imagen utilizando métodos como setJpegQuality y setSufficientResolution en la clase PdfOptions para garantizar imágenes de alta calidad en tu PDF.

¿Aspose.Slides admite normas de cumplimiento PDF/A?

Sí, Aspose.Slides permite exportar PDFs que cumplen con varias normas, incluidas PDF/A1a, PDF/A1b y PDF/UA, asegurando que tus documentos cumplan con requisitos de accesibilidad y archivo.

Recursos Adicionales