PPTX

媒体

将视频和音频文件嵌入幻灯片,支持封面图片

使用 VideoFrameAudioFrame 将视频和音频内容嵌入演示文稿。

视频

import { Slide, VideoFrame } from "@office-open/pptx";
import fs from "node:fs";

new Slide({
    children: [
        new VideoFrame({
            x: 1,
            y: 1,
            width: 6,
            height: 4,
            data: fs.readFileSync("video.mp4"),
            mimeType: "video/mp4",
        }),
    ],
});

带封面图片的视频

封面图片在视频开始播放前显示:

new VideoFrame({
    x: 1,
    y: 1,
    width: 6,
    height: 4,
    data: fs.readFileSync("video.mp4"),
    mimeType: "video/mp4",
    posterData: fs.readFileSync("poster.jpg"),
    posterImageType: "jpg",
});

音频

import { Slide, AudioFrame } from "@office-open/pptx";
import fs from "node:fs";

new Slide({
    children: [
        new AudioFrame({
            x: 1,
            y: 4,
            width: 2,
            height: 0.5,
            data: fs.readFileSync("audio.mp3"),
            mimeType: "audio/mpeg",
        }),
    ],
});

带自定义封面的音频

new AudioFrame({
    x: 6,
    y: 4,
    width: 2,
    height: 0.5,
    data: fs.readFileSync("narration.mp3"),
    mimeType: "audio/mpeg",
    posterData: fs.readFileSync("speaker-icon.png"),
    posterImageType: "png",
});

支持的媒体格式

视频

格式MIME 类型
MP4video/mp4
AVIvideo/avi
WMVvideo/x-ms-wmv
MOVvideo/quicktime

音频

格式MIME 类型
MP3audio/mpeg
WAVaudio/wav
WMAaudio/x-ms-wma
AIFFaudio/aiff

通用选项

VideoFrameAudioFrame 均支持标准形状定位:

new VideoFrame({
    x: 1, // 左边距位置(英寸)
    y: 1, // 顶部位置(英寸)
    width: 6, // 宽度(英寸)
    height: 4, // 高度(英寸)
    rotation: 0, // 旋转角度(度)
    data: mediaData,
    mimeType: "video/mp4",
});

提示

  • 为视频提供封面图片,以确保在播放前显示视觉预览。
  • 音频框架通常较小,放置在幻灯片底部。
  • 媒体文件会直接嵌入到 .pptx 文件中 — 为保证性能,请控制文件大小。
  • 支持的播放取决于演示文稿查看器(PowerPoint、Keynote、Google Slides 等)。
Copyright © 2026