Экспорт фильмов из Powerpoint в файл в C # - PullRequest
6 голосов
/ 14 февраля 2011

Некоторые презентации Powerpoint содержат встроенные фильмы.Как экспортировать фильмы из презентации (или получить путь к файлу фильма) с помощью C # (VSTO или Oficce COM Api)?

Ответы [ 3 ]

5 голосов
/ 12 декабря 2012

Вот простая демонстрация, чтобы сделать это:

не забудьте добавить ссылку на API-интерфейс PowerPoint COM (Библиотека объектов Microsoft PowerPoint 12.0).

using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Office = Microsoft.Office.Core;

тогда вы можете получить путь к фильму, как это

    private void button1_Click(object sender, EventArgs e)
    {
        PowerPoint.Application app = new PowerPoint.Application();
        app.Visible = Office.MsoTriState.msoTrue;
        //open powerpoint file in your hard drive
        app.Presentations.Open(@"e:\my tests\hello world.pptx");

        foreach (PowerPoint.Slide slide in app.ActivePresentation.Slides)
        {
            PowerPoint.Shapes slideShapes = slide.Shapes;
            foreach (PowerPoint.Shape shape in slideShapes)
            {
                if (shape.Type == Office.MsoShapeType.msoMedia &&
                    shape.MediaType == PowerPoint.PpMediaType.ppMediaTypeMovie)
                {
                    //LinkFormat.SourceFullName contains the movie path 
                    //get the path like this
                    listBox1.Items.Add(shape.LinkFormat.SourceFullName);
                    //or use System.IO.File.Copy(shape.LinkFormat.SourceFullName, SOME_DESTINATION) to export them
                }
            }
        }
    }

Надеюсь, это поможет.

[Edit:]

относительно комментария Стива, если вам нужны только встроенные фильмы, вам нужно просто распаковать файл .pptx, как и любой другой zip-файл (например, используя DotNetZip), и искать встроенные видео по этому пути ([PowerPoint_fileName] \ ppt \ media)

3 голосов
/ 17 декабря 2012

Это очень легко.Извлеките файл в виде Zip-файла с помощью библиотеки SharpZipLib, файлы будут находиться в папке ppt \ media :)

. Этот вопрос поможет вам:

Программно извлечь встроенный файл из презентации PowerPoint

А это ссылка sharp-zip-lib:

http://www.icsharpcode.net/opensource/sharpziplib/

1 голос
/ 14 февраля 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...