Чтение файлов WPD (WordPerfect) в.NET
Мне нужна библиотека, которая позволит читать файлы WPD в среде.NET.
Пока что я нашел только libwpd.
Кажется, что это нативная библиотека, и нет документации по ее использованию с.NET Interop.
Другое решение - использовать конвертер командной строки в другой, более распространенный формат (например, RTF, HTML или ODT), но я не могу найти такой конвертер.
Кто-нибудь может помочь?
2 ответа
Оказывается, Corel не предоставляет библиотеки для загрузки, и они должны быть созданы для каждой версии WordPerfect. Я нашел соответствующую информацию здесь:
.NET-программирование-взаимодействия-сборок на wpuniverse.com
- Найдите *.tlb, связанный с вашей версией WordPerfect, мой был расположен по адресу
C:\Program Files (x86)\Corel\WordPerfect Office X6\Programs\wpwin16.tlb
- Добавьте ссылку на *.tlb в VisualStudio, и он сгенерирует
Interop.WordPerfect.dll
файл Поместите в своем файле оператор использования:
using WordPerfect;
и сделать что-то вроде этого:PerfectScript WPScript = null; WPScript = new PerfectScript(); WPScript.FileOpen(*filepath*); WPScript.SelectOff(); WPScript.PosDocVeryTop(); WPScript.SearchString(*FindText*);
Доступен intellisense, и приведенная выше ссылка на wpuniverse должна помочь.
После долгих попыток сделать это, используя ужасный и неполный интерфейс PerfectScript, я разработал специальную программу для чтения файлов wpd в большинстве функций и текста, найденных в файле wpd. WP_Reader - это библиотека C#, которую можно легко использовать для извлечения практически всего, что содержится в документе WordPerfect.
Однако WP_Reader не принесет вам пользы, пока вы не изучите и не поймете спецификацию файла WP6+. Вам все еще нужно написать свой собственный токенайзер, чтобы деконструировать файл во что-то полезное. Для подробного ознакомления с тем, как использовать библиотеку, посетите форумы WPUniverse.
Нет необходимости устанавливать WordPerfect.
Лицензировано в соответствии с GNU Lesser General Public License.
Я знаю, что это может показаться саморекламой, но 5 лет назад не было ничего, что можно было бы использовать, кроме попытки заставить libwpd работать на.NET. Теперь любой человек, обладающий подобием навыков программирования, может извлечь документ wpd.