Как заменить текст в документе PowerPoint (.ppt)?
-
20-08-2019 - |
Вопрос
Какие существуют решения?Я знаю только решения для замены закладок в файлах Word (.doc) на Apache POI?
Существуют ли также возможности изменять изображения, макеты, стили текста в документах .doc и .ppt?
Я думаю о замене областей в документах Word и PowerPoint для массовой обработки.
Платформа:MS-Office 2003
Решение
Каковы ограничения вашей платформы?
Очевидно ПОИ Apache это поможет вам пройти хотя бы часть пути туда.
Собственные COM API Microsoft достаточно мощны и документированы здесь.Я бы рекомендовал использовать их, если а) вы не работаете в серверной (много пользователей, многопоточная) среде;б) на рабочем компьютере может быть установлена соответствующая версия PowerPoint;и c) вы можете кодировать на основе объектной модели COM.
Другие советы
Это немного дороговато, но В качестве примера.Слайды это очень мощная библиотека для работы с файлами PowerPoint
Если вы планируете использовать другие офисные костюмы в качестве опции, вот список возможных решений:
Используя POI, вы не можете редактировать формат файла .pptx, но вы не зависите от приложений, установленных в системе.Два других варианта, напротив, используют другие приложения, но они определенно лучше подходят для работы с презентациями.Кстати, OpenOffice обладает лучшей совместимостью со старыми форматами.Также, если вы используете UNO, у вас будет большой выбор языков, UNO существует для Java, C ++, Python и других языков.
Мой опыт не связан непосредственно с Power Point, но я действительно запустил свой собственный генератор WordML (XML).Это a) удалило все зависимости от Word, b) было очень быстрым c) и позволило мне создавать документы с нуля.
Но это была большая работа по созданию.И я всего лишь создавал реализацию, доступную только для записи.
Я не так хорошо знаком с Power Point, так что это предположение, но вы можете создать свой собственный, прочитав XML (Power Point 2003 ??) и / или взломав файл Office Open XML (архивированный XML), затем используя XPath для обработки данных, а затем сохранив все обратно на диск.
Однако это не будет работать со старыми файлами Power Point на основе составных документов OLE.
Я уже делал нечто подобное раньше:программный доступ к презентациям PowerPoint и управление ими.Когда я это делал, все это было на C ++ с использованием COM, но аналогичные принципы применимы и к приложениям C # / VB .NET, поскольку они очень легко взаимодействуют с COM.
То, что вы ищете, называется моделью документа Office.По сути, приложения Office предоставляют свои документы программно, в виде деревьев объектов, которые определяют их содержимое.Эти объекты доступны через API, и вы можете манипулировать ими, добавлять новые и выполнять любую другую обработку, какую захотите.Это чрезвычайно мощно;вы можете использовать его для манипулирования практически всеми аспектами документа.Но вам потребуется установка Office и Visual Studio, чтобы иметь возможность им пользоваться.
Некоторые ссылки:
Надеюсь, это поможет!
Очевидно, что новые пользователи могут включать только одну ссылку на публикацию.Как неубедительно!:)
Вот другая ссылка, которую я хотел включить:
- Пример программного управления документами PowerPoint: http://msdn.microsoft.com/en-us/library/cc668192.aspx