2009-06-25 4 views
3

Какие у вас есть решения? Я знаю только решения для замены файлов закладок в Word (.doc) с помощью Apache POI?Как заменить текст в документе PowerPoint (.ppt)?

Есть ли возможность изменять изображения, макеты, текстовые стили в документах .doc и .ppt?

Я думаю о замене областей в документах Word и PowerPoint для массовой обработки.

Платформа: MS-Office 2003

ответ

3

Каковы ваши ограничения на платформу?

Очевидно, что Apache POI доставит вам хотя бы часть пути туда.

Собственные COM API от Microsoft являются довольно мощными и документированы here. Я бы рекомендовал использовать их, если: а) вы не работаете на сервере (много пользователей, многопоточность); b) у вас может быть установлена ​​правильная версия powerpoint, установленная на производственной машине; и c) вы можете использовать код для объектной модели COM.

+0

Я гибкий с ограничениями платформы. Лучшая бесплатная лицензия для каждой рабочей платформы. ;) Webservices, которые абстрактны модель объекта COM, могут быть способом. –

+0

Вы также можете использовать OpenOffice, я добавил информацию к своему сообщению. – Malcolm

2

Если включить с помощью другой офис подходит как вариант, вот список возможных решений:

Использование POI вы не можете редактировать .pptx, но вы не зависите от приложений, установленных в системе. Другие два варианта, наоборот, используют другие приложения, но они определенно лучше подходят для работы с презентациями. Кстати, OpenOffice лучше совместим со старыми форматами. Также, если вы используете UNO, у вас будет отличный выбор языков, UNO существует для Java, C++, Python и других языков.

+1

Является ли POI единственным решением? Что такое изменение формата (.ppt => .pptx)? Я слышал, что у POI проблемы с UTF-8, форматирование и т. Д. –

+1

Ну, я видел разные библиотеки для работы с .ppt-файлами в Интернете, но когда дело доходит до смены документов, они бесполезны. Другое решение, вероятно, использует OpenOffice или PowerPoint API для изменения documnets, я не знаю, подходит ли это решение или нет. – Malcolm

1

Мой опыт не связан с Power Point, но я фактически закатил собственный генератор WordML (XML). Это а) удалило все зависимости от Word, б) было очень быстро c) и позвольте мне создавать документы с нуля.

Но было много работы по созданию. И я только создавал реализацию только для записи.

Я не так хорошо знаком с Power Point, так что это гипотеза, но вы можете катиться самостоятельно, читая XML (Power Point 2003 ??) и/или взламывая файл Office Open XML (zipped XML)), затем используя XPath для управления данными, а затем сэкономить все на диске.

Это не будет работать на старых файлах Power Point на основе OLE Compound Document.

3

Это немного дорогой, но Aspose.Slides очень мощная библиотека для работы с PowerPoint файлов

+0

Решение с открытым исходным кодом - docx4j, которое теперь также может манипулировать файлами pptx. Его Java, используя JAXB. – JasonPlutext

1

Я сделал что-то вроде того, что раньше: программно доступом и манипулируют презентации PowerPoint. Когда я это сделал, все было на C++ с использованием COM, но аналогичные принципы применимы к приложениям C#/VB .NET, поскольку они очень легко взаимодействуют с COM.

То, что вы ищете, называется Моделью документов Office. В основном приложения Office выставляют свои документы программно, как деревья объектов, которые определяют их содержимое.Эти объекты доступны через API, и вы можете ими управлять, добавлять новые и выполнять любую другую обработку. Это чрезвычайно мощно; вы можете использовать его для управления практически всеми аспектами документа. Но вам понадобится установка Office и Visual Studio, чтобы иметь возможность использовать ее.

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

Надеется, что это помогает!

1

По-видимому, новые пользователи могут включать только одну ссылку в рассылку. Как хромой! :)

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

+0

Вау, это было действительно полезно, THX! –