slidize-plugins
v26.3.0
Published
Slidize Plugins is a set of powerful tools for working with Microsoft PowerPoint presentations, allowing you to convert presentations into various formats such as PDF, TIFF, PNG, JPEG, SVG, and HTML.
Maintainers
Readme
Slidize-Plugins for Node.js Library
Slidize.Plugins is a Node.js library for managing presentations and converting them to PowerPoint, OpenDocument, and image formats. With its unique licensing system, you can plug in and purchase only the functionality you need. It supports advanced image processing, customizable presentation formats, merging presentations, and controlling notes, comments, and hidden slides. The library also offers PDF compliance control and multi-page TIFF exports, making it ideal for batch conversions and complex workflows.
Supported Formats
slidize-plugins supports a wide variety of output formats for flexibility in handling presentation files:
- PowerPoint Formats: PPT, PPTX, PPTM, PPS, PPSX, PPSM, POT, POTX, POTM
- OpenDocument Formats: ODP, FODP, OTP
- Image Formats: PNG, JPEG, TIFF, SVG
- Document Formats: PDF, HTML, XML
Key Features
- Convert presentations to a wide range of formats including PDF, PNG, JPEG, TIFF, SVG, HTML.
- Convert presentations to other presentation formats like PPT, PPTX, POT, POTX, PPS, PPSX, ODP, FODP.
- Merge multiple presentations into a single file.
- Customize handout layouts, notes, and comments for export.
- Advanced image processing with pixel format, resolution, and compression control.
- Support for both PowerPoint 97-2003 and Open XML formats.
- Support OpenDocument formats.
License Management
The license management system in slidize-plugins is designed to give you complete control over the features and tools you acquire. Instead of being forced into purchasing an entire package, you can choose only the functionalities that are directly relevant to your tasks, allowing for a more personalized and cost-efficient experience. This system empowers you to customize your usage based on your specific needs, ensuring that you don’t pay for features you won’t use. Moreover, as your needs evolve, you have the flexibility to expand your toolkit by purchasing additional functionalities, making it a scalable solution. Whether you are working on small projects or managing large-scale tasks, you can adjust your access to match the exact demands of your workflow. By offering this targeted approach, the License Management system helps to eliminate waste, streamline operations, and provide a tailored set of tools that enhances your productivity without unnecessary expenses.
The following code example shows how to enable licenses to plug in the slidize-plugins functionality for converting presentations to PDF documents and merging PowerPoint and OpenDocument presentations.
const slidize = require("slidize-plugins");
const licenses = ["license_merger.lic", "license_converter.lic"];
for (const licensePath of licenses) {
await slidize.License.plugLicense(licensePath);
}Convert PowerPoint to PDF
Converting a PowerPoint presentation to PDF is a common requirement for many applications, whether for distributing static copies of slides or archiving presentations. With slidize-plugins, you can convert any presentation to PDF while maintaining full control over the export options, such as embedding fonts, adjusting compliance levels (e.g., PDF/A), and controlling hidden slides and notes.
const slidize = require("slidize-plugins");
const options = new slidize.PdfConverterOptions();
options.setComplianceLevel(slidize.PdfComplianceLevel.PdfA1b);
options.setEmbedFullFonts(true);
await slidize.PresentationToPdfConverter.process("presentation.pptx", "presentation.pdf", options);Convert PowerPoint to PNG
Exporting slides as high-quality PNG images is useful for creating slide previews, embedding them in reports, or sharing individual slide images. slidize-plugins allows you to control the resolution, size, and scale of the images produced. This ensures that your output fits the exact dimensions and quality required for your project.
const slidize = require("slidize-plugins");
const options = new slidize.ImageConverterOptions();
options.setImageWidth(960);
options.setImageHeight(720);
await slidize.PresentationToPngConverter.process("presentation.pptx", "image.png", options);Convert PowerPoint to HTML
Converting presentations to HTML enables embedding slides in web pages, providing easy access and sharing for presentations in a browser-friendly format. The slidize-plugins library allows customization of the HTML export, such as scaling images, and even handling hidden slides. This is ideal for users who need to distribute presentations online while maintaining slide quality and structure.
const slidize = require("slidize-plugins");
const options = new slidize.HtmlConverterOptions();
options.setPicturesCompression(slidize.PicturesCompressionLevel.Dpi330);
options.setSlideImageScale(2);
await slidize.PresentationToHtmlConverter.process("presentation.pptx", "presentation.html", options);Convert PowerPoint to Other Presentation Formats
In addition to exporting to image and document formats, slidize-plugins supports converting PowerPoint presentations to a variety of presentation file formats, such as PPTX, PPSX, ODP, and more. This is especially useful for users who need to transition presentations between different platforms or software environments. The ability to convert to OpenDocument Presentation (ODP) format ensures compatibility with open-source tools, while converting to macro-enabled formats like PPTM retains functionality for presentations with embedded macros.
const slidize = require("slidize-plugins");
// Convert to PPTX
await slidize.PresentationConverter.process("input.pptx", "output.pptx", slidize.ConvertFormat.Pptx);
// Convert to ODP
await slidize.PresentationConverter.process("input.pptx", "output.odp", slidize.ConvertFormat.Odp);Merge PowerPoint Files
Merging multiple PowerPoint presentations into a single file is a valuable feature for users managing large presentations or combining content from different sources. The slidize-plugins package provides an easy way to merge files with minimal effort. This functionality supports combining PowerPoint presentations in both the legacy and modern formats.
const slidize = require("slidize-plugins");
const inputPaths = [ "presentation1.pptx", "presentation2.pptx", "presentation3.pptx" ];
await slidize.PresentationMerger.process(inputPaths, "merged.pptx");Advanced Export Options
The library offers extensive control over how presentations are exported. You can customize the output with advanced options, such as setting the image scale, specifying compression levels for images, and choosing how notes and comments are displayed in the final output. Here's an example of exporting a presentation with custom options.
const slidize = require("slidize-plugins");
const notesCommentsOptions = new slidize.NotesCommentsViewOptions();
notesCommentsOptions.setNotesPosition(slidize.NotesPositions.BottomFull);
notesCommentsOptions.setCommentsPosition(slidize.CommentsPositions.Right);
const options = new slidize.PdfConverterOptions();
options.setSlidesViewOptions(notesCommentsOptions);
options.setComplianceLevel(slidize.PdfComplianceLevel.PdfA1b);
await slidize.PresentationToPdfConverter.process("presentation.pptx", "presentation.pdf", options);Extract Raw Text from Presentation
Extracting text from presentations is a common task for developers working with slide content. The slidize-plugins package provides an easy way to extract various types of text data from each slide, including slide content, body and layout text, notes, and comments.
const slidize = require("slidize-plugins");
const rawSlidesText = await slidize.PresentationTextExtractor.process("presentation.pptx", slidize.TextExtractionMode.Unarranged);
for (let i = 0; i < rawSlidesText.lenght; i++)
{
const slideText = rawSlidesText[i];
// Print the text extracted from the slide
console.log(slideText.text);
// Print the text extracted from the master of the slide
console.log(slideText.masterText);
// Print the text extracted from the layout of the slide
console.log(slideText.layoutText);
// Print the notes text extracted from the slide
console.log(slideText.notesText);
// Print the comments text extracted from the slide
console.log(slideText.commentsText);
}Product Page | Documentation | API Reference | Code Examples | Free Support | Temporary License
