1pub mod core;
36pub mod elements;
37pub mod generator;
38#[cfg(feature = "cli")]
39pub mod cli;
40pub mod exc;
41pub mod opc;
42pub mod oxml;
43pub mod parts;
44pub mod api;
45pub mod prelude;
46pub mod helpers;
47pub mod templates;
48pub mod export;
49pub mod import;
50
51#[cfg(feature = "mcp")]
52pub mod mcp;
53
54#[cfg(feature = "web2ppt")]
55pub mod web2ppt;
56
57pub use api::Presentation;
58pub use core::{ToXml, escape_xml};
59pub use elements::{Color, RgbColor, SchemeColor, Position, Size, Transform};
60pub use exc::{messages, PptxError, Result};
61pub use generator::{
62 create_pptx, create_pptx_with_content, create_pptx_with_settings, create_pptx_with_template,
63 create_pptx_to_writer, create_pptx_with_content_to_writer, create_pptx_lazy_to_writer,
64 LazySlideSource, PptxTemplate, STANDARD_LAYOUT_COUNT,
65 SlideContent, SlideLayout,
66 TextFormat, FormattedText,
67 Table, TableRow, TableCell, TableBuilder,
68 Shape, ShapeType, ShapeFill, ShapeLine,
69 Image, ImageBuilder, ImageSource,
70 Chart, ChartType, ChartSeries, ChartBuilder,
71 BulletStyle, BulletPoint,
72 TextDirection, RtlLanguage, RtlTextProps,
73 Comment, CommentAuthor, CommentAuthorList, SlideComments,
74 SlideSection, SectionManager,
75 DigitalSignature, SignerInfo, HashAlgorithm, SignatureCommitment,
76 InkAnnotations, InkStroke, InkPen, InkPoint, PenTip,
77 SlideShowSettings, ShowType, PenColor, SlideRange,
78 PrintSettings, HandoutLayout, PrintColorMode, PrintWhat, Orientation,
79 TableMergeMap, MergeRegion, CellMergeState,
80 EmbeddedFontList, EmbeddedFont, FontStyle, FontCharset,
81 PresentationSettings,
82 PresentationTheme, ThemeColorScheme, ThemeFonts,
83 Connector, ConnectorType, ConnectorLine, ArrowType, ArrowSize, ConnectionSite, LineDash,
84 Hyperlink, HyperlinkAction,
85 GradientFill, GradientType, GradientDirection, GradientStop, PresetGradients,
86 Video, Audio, VideoFormat, AudioFormat, VideoOptions, AudioOptions,
87};
88pub use core::{
89 validate_package, validate_package_bytes, validate_powerpoint_structure,
90 CompatReport, PackageValidationIssue, PackageValidationReport,
91 REQUIRED_PACKAGE_PARTS, ValidationCategory, ValidationSeverity,
92};
93
94pub use import::html::{parse_html, parse_html_with_options, HtmlParseOptions, Html2Ppt};
96pub use export::md::{MarkdownOptions, export_to_markdown, export_to_markdown_with_options};
97pub use export::image_export::{
98 ImageExportOptions, ImageFormat,
99 export_to_images, export_slide_to_image, render_thumbnail
100};
101pub use opc::compress::{
102 CompressionOptions, CompressionLevel, CompressionResult,
103 compress_pptx, compress_pptx_in_memory, analyze_pptx
104};
105
106pub use parts::{
107 Part, PartType, ContentType,
108 PresentationPart, SlidePart, SlideLayoutPart, LayoutType,
109 SlideMasterPart, ThemePart, NotesSlidePart,
110 ImagePart, MediaPart, MediaFormat, ChartPart,
111 TablePart, TableRowPart, TableCellPart,
112 CorePropertiesPart, AppPropertiesPart,
113 ContentTypesPart, Relationships,
114};
115
116#[cfg(feature = "web2ppt")]
117pub use web2ppt::{
118 Web2Ppt, WebFetcher, WebParser, WebContent, ContentBlock,
119 ContentType as WebContentType,
120 Web2PptConfig, ConversionOptions, Web2PptError,
121 html_to_pptx, html_to_pptx_with_options, url_to_pptx, url_to_pptx_with_options,
122};
123
124pub const VERSION: &str = "0.2.19";