pub struct OleEntry {
pub partname: PartName,
pub blob: Vec<u8>,
pub rid: String,
}Expand description
OLE 对象条目:保存到 /ppt/embeddings/oleObjectN.bin 的 OLE part 元数据(TODO-043)。
对应 python-pptx 中 SlideShapes.add_ole_object(...) 隐式管理的 oleObject part。
在 to_opc_package 阶段,每个 OleEntry 会:
- 写出独立的
/ppt/embeddings/oleObjectN.binpart(内容为原始 OLE 二进制 blob); - 在
slideN.xml.rels中添加<Relationship Type=".../oleObject" Target="../embeddings/oleObjectN.bin"/>; - 把
rid同步回OleObjectShape.frame.graphic.OleObject.rid,供<p:oleObj r:id="..."/>引用。
§与 MediaEntry 的差异
- MediaEntry 持有图片二进制,用于
<p:pic>的<a:blip r:embed="..."/>; - OleEntry 持有 OLE 复合文档二进制,用于
<p:oleObj r:id="..."/>; - 两者 partname 命名空间不同(
/ppt/media/vs/ppt/embeddings/)。
§与 ChartEntry 的差异
- ChartEntry 持有强类型 Chart 模型,写出时调用
chart.to_xml()生成 XML; - OleEntry 持有原始二进制 blob,写出时直接写入字节,不经过 XML 序列化。
Fields§
§partname: PartNameoleObject part 路径,例如 /ppt/embeddings/oleObject1.bin。
blob: Vec<u8>原始 OLE 二进制数据(CFB 复合文档)。
rid: String在 slide xml 中引用的关系 id(形如 rIdOle1)。
Trait Implementations§
Auto Trait Implementations§
impl Freeze for OleEntry
impl RefUnwindSafe for OleEntry
impl Send for OleEntry
impl Sync for OleEntry
impl Unpin for OleEntry
impl UnsafeUnpin for OleEntry
impl UnwindSafe for OleEntry
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