Вопрос

Какие существуют решения?Я знаю только решения для замены закладок в файлах 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, чтобы иметь возможность им пользоваться.

Некоторые ссылки:

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

Очевидно, что новые пользователи могут включать только одну ссылку на публикацию.Как неубедительно!:)

Вот другая ссылка, которую я хотел включить:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top