Чтение файлов WPD (WordPerfect) в.NET

Мне нужна библиотека, которая позволит читать файлы WPD в среде.NET.

Пока что я нашел только libwpd.

Кажется, что это нативная библиотека, и нет документации по ее использованию с.NET Interop.

Другое решение - использовать конвертер командной строки в другой, более распространенный формат (например, RTF, HTML или ODT), но я не могу найти такой конвертер.

Кто-нибудь может помочь?

2 ответа

Оказывается, Corel не предоставляет библиотеки для загрузки, и они должны быть созданы для каждой версии WordPerfect. Я нашел соответствующую информацию здесь:

.NET-программирование-взаимодействия-сборок на wpuniverse.com

  1. Найдите *.tlb, связанный с вашей версией WordPerfect, мой был расположен по адресу C:\Program Files (x86)\Corel\WordPerfect Office X6\Programs\wpwin16.tlb
  2. Добавьте ссылку на *.tlb в VisualStudio, и он сгенерирует Interop.WordPerfect.dll файл
  3. Поместите в своем файле оператор использования: 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.

Другие вопросы по тегам