Flutter PPTX

一个用于创建PowerPoint演示文稿的Flutter插件。

入门

import 'package:flutter_pptx/flutter_pptx.dart';

final pres = Powerpoint();

添加幻灯片

标题幻灯片

pres.addTitle(
    title: 'Title',
);

带照片的标题幻灯片

pres.addTitleAndPhoto(
    title: 'Title',
    imagePath: './samples/images/sample_gif.gif',
    imageName: 'Sample Gif',
);

带照片的标题幻灯片(替代方案)

pres.addTitleAndPhotoAlt(
    title: 'Title',
    imagePath: './samples/images/sample_jpg.jpg',
    imageName: 'Sample Jpg',
);

带要点的标题幻灯片

pres.addTitleAndBullets(
    title: 'Title',
    bullets: [
        'Bullet 1',
        'Bullet 2',
        'Bullet 3',
        'Bullet 4',
    ],
);

要点幻灯片

pres.addBullets(
    bullets: [
        'Bullet 1',
        'Bullet 2',
        'Bullet 3',
        'Bullet 4',
    ],
);

带照片和要点的标题幻灯片

pres.addSlideTitleBulletsAndPhoto(
    title: 'Title',
    imagePath: './samples/images/sample_jpg.jpg',
    imageName: 'Sample Jpg',
    bullets: [
        'Bullet 1',
        'Bullet 2',
        'Bullet 3',
        'Bullet 4',
    ],
);

章节幻灯片

pres.addSection(
    section: 'Section 1',
);

仅标题幻灯片

pres.addSlideTitleOnly(
    title: 'Title 1',
    subtitle: 'Subtitle 1',
);

议程幻灯片

pres.addSlideAgenda(
    title: 'Title 1',
    subtitle: 'Subtitle 1',
    topics: 'Topics 1',
);

声明幻灯片

pres.addSlideStatement(
    statement: 'Statement 1',
);

大事实幻灯片

pres.addBigFact(
    fact: 'Title 1',
    information: 'Fact 1',
);

引言幻灯片

pres.addSlideQuote(
    quote: 'Quote 1',
    attribution: 'Attribution 1',
);

照片三连屏

pres.addSlidePhoto3Up(
    image1Path: './samples/images/sample_gif.gif',
    image2Path: './samples/images/sample_jpg.jpg',
    image3Path: './samples/images/sample_png.png',
);

照片幻灯片

pres.addSlidePhoto(
    imagePath: './samples/images/sample_gif.gif',
);

空白幻灯片

pres.addSlideBlank();

Widget幻灯片

await pres.addSlideWidget(Center(
  child: Container(
      padding: const EdgeInsets.all(30.0),
      decoration: BoxDecoration(
      border: Border.all(color: Colors.blueAccent, width: 5.0),
      color: Colors.redAccent,
    ),
    child: const Text("This is an invisible widget"),
  ),
));

感谢screenshot包!

背景属性

背景颜色

slide.background.color = '000000';

背景图片

slide.background.image = ImageReference(
    path: './samples/images/sample_gif.gif',
    name: 'Sample Gif',
);

演示文稿属性

显示/隐藏幻灯片编号

pres.showSlideNumber = true;

导出

保存为字节

final bytes = await pres.save();

链接

GitHub

查看 Github