Expand description
PowerPoint (.pptx) file manipulation library
A comprehensive Rust library for creating, reading, and updating PowerPoint 2007+ (.pptx) files.
§Quick Start
use ppt_rs::{create_pptx_with_content, SlideContent};
let slides = vec![
SlideContent::new("Welcome")
.add_bullet("First point")
.add_bullet("Second point"),
];
let pptx_data = create_pptx_with_content("My Presentation", slides).unwrap();
std::fs::write("output.pptx", pptx_data).unwrap();§Module Organization
- core - Core traits (
ToXml,Positioned) and utilities - elements - Unified element types (Color, Position, Size, Transform)
- generator - PPTX file generation with ZIP packaging and XML creation
- parts - Package parts (SlidePart, ImagePart, ChartPart)
- integration - High-level builders for presentations
- opc - Open Packaging Convention (ZIP) handling
- oxml - Office XML parsing and manipulation
- exc - Error types
Re-exports§
pub use api::Presentation;pub use core::ToXml;pub use core::escape_xml;pub use elements::Color;pub use elements::RgbColor;pub use elements::SchemeColor;pub use elements::Position;pub use elements::Size;pub use elements::Transform;pub use exc::PptxError;pub use exc::Result;pub use generator::create_pptx;pub use generator::create_pptx_with_content;pub use generator::create_pptx_with_settings;pub use generator::create_pptx_to_writer;pub use generator::create_pptx_with_content_to_writer;pub use generator::create_pptx_lazy_to_writer;pub use generator::LazySlideSource;pub use generator::SlideContent;pub use generator::SlideLayout;pub use generator::TextFormat;pub use generator::FormattedText;pub use generator::Table;pub use generator::TableRow;pub use generator::TableCell;pub use generator::TableBuilder;pub use generator::Shape;pub use generator::ShapeType;pub use generator::ShapeFill;pub use generator::ShapeLine;pub use generator::Image;pub use generator::ImageBuilder;pub use generator::ImageSource;pub use generator::Chart;pub use generator::ChartType;pub use generator::ChartSeries;pub use generator::ChartBuilder;pub use generator::BulletStyle;pub use generator::BulletPoint;pub use generator::TextDirection;pub use generator::RtlLanguage;pub use generator::RtlTextProps;pub use generator::Comment;pub use generator::CommentAuthor;pub use generator::CommentAuthorList;pub use generator::SlideComments;pub use generator::SlideSection;pub use generator::SectionManager;pub use generator::DigitalSignature;pub use generator::SignerInfo;pub use generator::HashAlgorithm;pub use generator::SignatureCommitment;pub use generator::InkAnnotations;pub use generator::InkStroke;pub use generator::InkPen;pub use generator::InkPoint;pub use generator::PenTip;pub use generator::SlideShowSettings;pub use generator::ShowType;pub use generator::PenColor;pub use generator::SlideRange;pub use generator::PrintSettings;pub use generator::HandoutLayout;pub use generator::PrintColorMode;pub use generator::PrintWhat;pub use generator::Orientation;pub use generator::TableMergeMap;pub use generator::MergeRegion;pub use generator::CellMergeState;pub use generator::EmbeddedFontList;pub use generator::EmbeddedFont;pub use generator::FontStyle;pub use generator::FontCharset;pub use generator::PresentationSettings;pub use generator::Connector;pub use generator::ConnectorType;pub use generator::ConnectorLine;pub use generator::ArrowType;pub use generator::ArrowSize;pub use generator::ConnectionSite;pub use generator::LineDash;pub use generator::Hyperlink;pub use generator::HyperlinkAction;pub use generator::GradientFill;pub use generator::GradientType;pub use generator::GradientDirection;pub use generator::GradientStop;pub use generator::PresetGradients;pub use generator::Video;pub use generator::Audio;pub use generator::VideoFormat;pub use generator::AudioFormat;pub use generator::VideoOptions;pub use generator::AudioOptions;pub use oxml::repair::PptxRepair;pub use oxml::repair::RepairIssue;pub use oxml::repair::RepairResult;pub use parts::Part;pub use parts::PartType;pub use parts::ContentType;pub use parts::PresentationPart;pub use parts::SlidePart;pub use parts::SlideLayoutPart;pub use parts::LayoutType;pub use parts::SlideMasterPart;pub use parts::ThemePart;pub use parts::NotesSlidePart;pub use parts::ImagePart;pub use parts::MediaPart;pub use parts::MediaFormat;pub use parts::ChartPart;pub use parts::TablePart;pub use parts::TableRowPart;pub use parts::TableCellPart;pub use parts::CorePropertiesPart;pub use parts::AppPropertiesPart;pub use parts::ContentTypesPart;pub use parts::Relationships;
Modules§
- api
- Public API module
- cli
- CLI module for PPTX tool
- core
- Core traits and types for pptx-rs
- elements
- Unified PPTX element types
- exc
- Exception types for pptx library
- export
- Export functionality
- generator
- PPTX file generator - creates proper ZIP-based PPTX files
- helpers
- Simplified helper functions for common operations
- import
- opc
- OPC (Open Packaging Convention) package handling
- oxml
- OXML (Office XML) element handling
- parts
- Package parts module
- prelude
- Prelude module for easy imports
- templates
- Template module for common presentation types