pub enum Graphic {
Table(Table),
Chart(Chart),
OleObject(OleObject),
SmartArt(SmartArtRef),
}Variants§
Table(Table)
Chart(Chart)
图表(<c:chart> 引用 chart part)。TODO-004 基础图表支持。
与 Table 不同,Chart 数据不直接嵌在 <a:graphicData> 中,
而是通过 r:id="..." 引用独立的 chartN.xml part。
序列化时只写出 <c:chart xmlns:c=... xmlns:r=... r:id="..."/> 自闭合元素。
OleObject(OleObject)
OLE 对象嵌入(<p:oleObj> 引用 oleObjectN.bin)。TODO-043。
与 Chart 类似,OLE 数据不直接嵌在 <a:graphicData> 中,
而是通过 r:id="..." 引用独立的 /ppt/embeddings/oleObjectN.bin part。
序列化时写出 <p:oleObj ...> 完整元素(含 <p:embed/> 与可选 <p:pic> 图标)。
SmartArt(SmartArtRef)
SmartArt 图形(<dgm:relIds> 引用 4 个 diagram parts)。TODO-037 最小保留。
SmartArt 是 PowerPoint 的“智能图形“(流程图/层次结构/循环/矩阵等), 由 4 个独立 part 组成:
diagramDataN.xml(数据模型,r:dm);diagramLayoutN.xml(布局定义,r:lo);diagramQuickStyleN.xml(样式,r:qs);diagramColorsN.xml(颜色,r:cs)。
当前实现(最小保留):
- 读路径:识别
<a:graphicData uri=".../diagram">,保留完整 XML(含 graphicData 外壳); - 写路径:按原样输出
raw_xml,保证 slide XML 中的 SmartArt 引用 byte-exact 保留; - 限制:不解析也不保留 4 个 diagram parts,read→save 后 SmartArt 会因为 diagram parts 丢失而无法渲染。完整 round-trip 需要 OPC 层保留未识别关系, 计划在 0.2.x 实现。
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Graphic
impl RefUnwindSafe for Graphic
impl Send for Graphic
impl Sync for Graphic
impl Unpin for Graphic
impl UnsafeUnpin for Graphic
impl UnwindSafe for Graphic
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more