Преобразование файлов WordPerfect с логикой слияния в.docx
Я работаю с большим количеством .frm
а также .wpd
Файлы WordPerfect, и я пытаюсь преобразовать их в .docx
сохраняя при этом всю логику слияния.
Сохранение файлов как .docx
в WordPerfect X6 или открыв .frm
/.wpd
оба файла из Word 2016 приводят к полной потере кодов слияния.
Есть ли способ конвертировать файлы WordPerfect так, чтобы они сохранили схожую функциональность слияния в .docx
формат?
1 ответ
Вот несколько сумасшедший подход:
Используйте WP_Reader для разбора документа.
Соберите все соответствующие функции слияния (есть множество команд слияния, и вам нужно будет выяснить, какие из них вам нужно перевести в поля слияния Word).
Создайте словарь, который переводит каждую нужную функцию слияния в ее строку WP "code" (для целей поиска).
Напишите простой макрос WordPerfect, который использует переданную переменную для поиска и заменяет каждый "код" слияния уникальным текстовым маркером.
Откройте документ с помощью интерфейса WordPerfect.PerfectScript.
Используйте интерфейс PerfectFit.PerfectScript для вызова макроса WP и передачи каждой функции слияния, которую вы хотите заменить своим уникальным маркером. Вы не можете выполнить.NET-вызов документа WordPerfect для поиска всего, что не является текстом ASCII, поэтому вы вынуждены использовать макрос и PerfectFit для этого (спасибо, Corel!).
Сохраните документ wpd как документ Word (или, возможно, безопаснее, используйте для этого Office Interop).
Используйте команды Office Interop, чтобы найти каждый уникальный маркер и заменить его новым полем слияния (мне немного неясно, как работает эта часть).
Этот подход имеет несколько предостережений:
WP_Reader в его текущей форме не моделирует функции слияния. Это займет немного кодирования, но подход довольно прост. Я единственный человек, работающий над этим проектом, и у меня еще не было необходимости в этих функциях. Все функции слияния либо не имеют параметров, либо 1 или более строк. Эти функции должны легко моделироваться, и я могу помочь вам начать.
.frm
а также .dat
файлы - это действительно файлы WordPerfect, которые настроены как документы слияния и источники данных для документов слияния (возможно, они также используются для других целей). Вы можете использовать WP_Reader для моделирования этих файлов так же, как .wpd
файлы.
Этот подход будет работать только при наличии чрезвычайно простых документов слияния. Арена слияния WordPerfect включает свой собственный язык, отдельный от набора команд WP. Есть If
заявления, For
циклы и т. д., которые не будут переводиться во что-либо полезное в документе Word.
Прежде чем попробовать этот трудоемкий проект, посмотрите, преобразует ли LibreOffice файлы wpd с кодами слияния непосредственно в .odt
формат. Проект lib-wpd, который является встроенной программой в LibreOffice, выполняется с 2003 года или около того, и они, возможно, уже включили эту функцию. Преобразование из .odt
в .docx
должно быть легко сделать.