Convertir PPT y PPTX a PDF en .NET [Funciones avanzadas incluidas]
Visión general
Convertir presentaciones de PowerPoint (PPT, PPTX, ODP, etc.) a formato PDF en C# ofrece varias ventajas, incluida la compatibilidad entre diferentes dispositivos y la preservación del diseño y formato de su 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 estándares de cumplimiento a los documentos de salida.
Conversiones de PowerPoint a PDF
Usando Aspose.Slides, puede convertir presentaciones en los siguientes formatos a PDF:
- PPT
- PPTX
- ODP
Para convertir una presentación a PDF, pase el nombre del archivo como argumento a la clase Presentation y luego guarde la presentación como PDF usando el método Save. La clase Presentation expone el método Save que se usa típicamente para convertir una presentación a PDF.
NOTE
Aspose.Slides para .NET inserta la información de su API y el número de versión en los documentos de salida. Por ejemplo, al convertir una presentación a PDF, Aspose.Slides rellena el campo Application con “Aspose.Slides” y el campo PDF Producer con un valor en forma “Aspose.Slides v XX.XX”. Nota que no puede instruir a Aspose.Slides para cambiar o eliminar esta información de los documentos de salida.Aspose.Slides le 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, incluyendo:
- Imágenes
- Cuadros de texto y formas
- Formato de texto
- Formato de párrafo
- Hipervínculos
- Encabezados 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 con los niveles máximos de calidad.
Este código C# muestra cómo convertir una presentación (PPT, PPTX, ODP, etc.) a PDF:
// Instanciar la clase Presentation que representa un archivo PowerPoint o OpenDocument.
using var presentation = new Presentation("PowerPoint.ppt");
// Save the presentation as a PDF.
presentation.Save("PDF-result.pdf", SaveFormat.Pdf);
Convertir PowerPoint a PDF con opciones
Aspose.Slides proporciona opciones personalizadas—propiedades bajo la clase PdfOptions—que le 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, puede definir su configuración de calidad preferida para imágenes rasterizadas, especificar cómo deben manejarse los metafiles, establecer un nivel de compresión para el texto, configurar DPI para imágenes y más.
El siguiente ejemplo de código muestra cómo convertir una presentación de PowerPoint a PDF con varias opciones personalizadas.
// Instanciar la clase PdfOptions.
var pdfOptions = new PdfOptions
{
// Establecer la calidad para imágenes JPG.
JpegQuality = 90,
// Establecer DPI para imágenes.
SufficientResolution = 300,
// Establecer el comportamiento para metafiles.
SaveMetafilesAsPng = true,
// Establecer el nivel de compresión de texto para contenido textual.
TextCompression = PdfTextCompression.Flate,
// Definir el modo de cumplimiento PDF.
Compliance = PdfCompliance.Pdf15
};
// Instanciar la clase Presentation que representa un archivo PowerPoint o OpenDocument.
using var presentation = new Presentation("PowerPoint.pptx");
// Guardar la presentación como un documento PDF.
presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions);
Convertir PowerPoint a PDF con diapositivas ocultas
Si una presentación contiene diapositivas ocultas, puede usar la propiedad ShowHiddenSlides de la clase PdfOptions para incluir las diapositivas ocultas como páginas en el PDF resultante.
Este código C# muestra cómo convertir una presentación de PowerPoint a PDF incluyendo las diapositivas ocultas:
// Instanciar la clase Presentation que representa un archivo PowerPoint o OpenDocument.
using var presentation = new Presentation("PowerPoint.pptx");
// Instanciar la clase PdfOptions.
var pdfOptions = new PdfOptions();
// Agregar diapositivas ocultas.
pdfOptions.ShowHiddenSlides = true;
// Guardar la presentación como PDF.
presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions);
Convertir PowerPoint a PDF protegido con contraseña
Este código C# demuestra cómo convertir una presentación de 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 o OpenDocument.
using var presentation = new Presentation("PowerPoint.pptx");
// Instanciar la clase PdfOptions.
var pdfOptions = new PdfOptions();
// Establecer una contraseña PDF y los permisos de acceso.
pdfOptions.Password = "password";
pdfOptions.AccessPermissions = PdfAccessPermissions.PrintDocument | PdfAccessPermissions.HighQualityPrint;
// Guardar la presentación como PDF.
presentation.Save("PPTX-to-PDF.pdf", SaveFormat.Pdf, pdfOptions);
Detectar sustituciones de fuentes
Aspose.Slides proporciona la propiedad WarningCallback bajo la clase PdfOptions, lo que le permite detectar sustituciones de fuentes durante el proceso de conversión de presentación a PDF.
Este código C# muestra cómo detectar sustituciones de fuentes:
public static void Main()
{
// Instanciar la clase Presentation que representa un archivo PowerPoint o OpenDocument.
using var presentation = new Presentation("sample.pptx");
// Establecer la devolución de llamada de advertencia en las opciones PDF.
var pdfOptions = new PdfOptions();
pdfOptions.WarningCallback = new FontSubstitutionHandler();
// Guardar la presentación como un PDF.
presentation.Save("output.pdf", SaveFormat.Pdf, pdfOptions);
}
// Implementación de la devolución de llamada de advertencia.
private class FontSubstitutionHandler : IWarningCallback
{
public ReturnAction Warning(IWarningInfo warning)
{
if (warning.WarningType == WarningType.DataLoss &&
warning.Description.StartsWith("Font will be substituted"))
{
Console.WriteLine($"Font substitution warning: {warning.Description}");
}
return ReturnAction.Continue;
}
}
Para obtener más información sobre la recepción de callbacks para sustituciones de fuentes durante el proceso de renderizado, consulte Getting Warning Callbacks for Fonts Substitution.
Para obtener más información sobre la sustitución de fuentes, consulte el artículo Font Substitution.
Convertir diapositivas seleccionadas de PowerPoint a PDF
Este código C# demuestra cómo convertir solo diapositivas específicas de una presentación de PowerPoint a PDF:
// Instanciar la clase Presentation que representa un archivo PowerPoint o OpenDocument.
using var presentation = new Presentation("PowerPoint.pptx");
// Establecer la matriz de números de diapositiva.
int[] slides = { 1, 3 };
// Guardar la presentación como PDF.
presentation.Save("PPTX-to-PDF.pdf", slides, SaveFormat.Pdf);
Convertir PowerPoint a PDF con tamaño de diapositiva personalizado
Este código C# demuestra cómo convertir una presentación de PowerPoint a PDF con un tamaño de diapositiva especificado:
var slideWidth = 612;
var slideHeight = 792;
// Load a PowerPoint presentation.
using var presentation = new Presentation("SelectedSlides.pptx");
// Create a new presentation with an adjusted slide size.
using var resizedPresentation = new Presentation();
// Set the custom slide size.
resizedPresentation.SlideSize.SetSize(slideWidth, slideHeight, SlideSizeScaleType.EnsureFit);
// Clone the first slide from the original presentation.
var slide = presentation.Slides[0];
resizedPresentation.Slides.InsertClone(0, slide);
// Save the resized presentation to a PDF with notes.
resizedPresentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf);
Convertir PowerPoint a PDF en vista de diapositivas de notas
Este código C# demuestra cómo convertir una presentación de PowerPoint a un PDF que incluye notas:
// Cargar una presentación de PowerPoint.
using var presentation = new Presentation("NotesFile.pptx");
// Configure the PDF options with Notes Layout.
var pdfOptions = new PdfOptions
{
SlidesLayoutOptions = new NotesCommentsLayoutingOptions
{
NotesPosition = NotesPositions.BottomFull
}
};
// Save the presentation to a PDF with notes.
presentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf, pdfOptions);
Accesibilidad y estándares de cumplimiento para PDF
Aspose.Slides le permite utilizar un procedimiento de conversión que cumple con las Directrices de Accesibilidad al Contenido Web (WCAG). Puede exportar un documento de PowerPoint a PDF usando cualquiera de estos estándares de cumplimiento: PDF/A1a, PDF/A1b y PDF/UA.
Este código C# demuestra un proceso de conversión de PowerPoint a PDF que produce varios PDFs basados en diferentes estándares de cumplimiento:
using var presentation = new Presentation("pres.pptx");
presentation.Save("pres-a1a-compliance.pdf", SaveFormat.Pdf, new PdfOptions
{
Compliance = PdfCompliance.PdfA1a
});
presentation.Save("pres-a1b-compliance.pdf", SaveFormat.Pdf, new PdfOptions
{
Compliance = PdfCompliance.PdfA1b
});
presentation.Save("pres-ua-compliance.pdf", SaveFormat.Pdf, new PdfOptions
{
Compliance = PdfCompliance.PdfUa
});
Note
Aspose.Slides admite operaciones de conversión de PDF, lo que le permite convertir archivos PDF a formatos de archivo populares. Puede realizar conversiones de PDF a HTML, PDF a imagen, PDF a JPG, y PDF a PNG. Otras operaciones de conversión de PDF a formatos especializados—PDF a SVG, PDF a TIFF, y PDF a XML—también son compatibles.Preguntas frecuentes
¿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. Puede iterar a través de sus archivos y aplicar el proceso de conversión programáticamente.
¿Es posible proteger con contraseña el PDF convertido?
Absolutamente. Utilice 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?
Establezca la propiedad ShowHiddenSlides en la clase PdfOptions a true para incluir diapositivas ocultas en el PDF resultante.
¿Puede Aspose.Slides mantener alta calidad de imagen en el PDF?
Sí, puede controlar la calidad de imagen estableciendo propiedades como JpegQuality y SufficientResolution en la clase PdfOptions para garantizar imágenes de alta calidad en su PDF.
¿Aspose.Slides admite estándares de cumplimiento PDF/A?
Sí, Aspose.Slides le permite exportar PDFs que cumplen con varios estándares, incluidos PDF/A1a, PDF/A1b y PDF/UA, asegurando que sus documentos cumplan con los requisitos de accesibilidad y archivo.