Хорошо, ТАК. Мне нужно некоторое руководство. Я прошу прощения за длину этого поста, но мне нужно предоставить некоторые детали:
У меня есть кто-то, кто заинтересован в том, чтобы я сделал для них небольшой проект. Приложение в целом представляет собой довольно простое приложение для ведения учета / документирования сотрудников, но оно довольно активно использует шаблоны Word и Lotus. Идея состоит в том, что вы выбираете «событие» сотрудника, такое как похвалы, продвижение по службе, дисциплина и т. Д., И он загружает соответствующий шаблон документа, и вы заполняете его оттуда, а позже вы можете выбрать сотрудника, просмотреть все «события, »И просматривать отдельные документы, связанные с каждым.
Таким образом, приложение должно знать, где хранятся .docs, когда пользователь закончил.
У клиента фактически есть версия v1 этого приложения (он не управляет файлами или чем-то еще, просто запускает Word / Lotus с документом, который вы хотите просмотреть в новом экземпляре, предположительно, с помощью вызова system () .) Мы не попали в подробный этап требований, но клиент и я согласны, что для этого действительно работа, некоторый контроль над тем, куда пользователь сохраняет документ. быть критическим , потому что в противном случае приложение предоставляет им новую копию документа шаблона, они «сохраняют как» где-то еще, и приложение указывает на пустую копию, которую оно им предоставило.
Очевидно, что я никак не могу придумать способ ограничения или контроля «Сохранить как» каким-либо образом, просто запустив новый экземпляр Word. Клиент имеет идею встроенного экземпляра Word / Lotus в приложение с шаблоном документа, когда вы выбираете один, но у меня есть несколько оговорок с этим:
- Я покопался в Интернете и прочитал, какая версия Word, заимствованная у MSWORD.OLB, будет той, которая потребуется конечному пользователю?
- Я пытался сделать пример MSDN для встраивания документа Word из здесь , но, как я привык, пример MSDN даже не компилируется.
- Даже если я МОГУ понять, как встроить файл .doc в их приложение, я не знаю, смогу ли я контролировать использование «Сохранить как…»
- Все это ЕЩЕ НЕ касалось Lotus (!)
Итак ... инстинктивно, я чувствую, что встроенная программа Word / Lotus должна быть больше работы, чем она стоит в конце.
Так что у меня появилось еще несколько идей.
- Кто-то изучает использование Office XML (и, если есть лотосный эквивалент), получает отдельно «входные данные» пользователя и каждый раз генерирует документ на лету. Я не особенно в восторге от этой идеи, но думаю, что она МОЖЕТ работать, при условии, что я просто использую старые функции, чтобы попытаться сохранить обратную совместимость.
- Получите пользовательские «входы» отдельно и сгенерируйте документ в HTML. Мех. Работает, очень кроссплатформенно и легко разбирается и понимается, но не очень хорошо, если вы хотите иметь возможность отправить это кому-то по электронной почте (кто отправляет по электронной почте .html? Работает, да, очень нетрадиционно, что обычному пользователю скинет их) и даже хуже, если вам нужно отправить его кому-нибудь для доработки ...
- Возможно, какой-то редактируемый PDF? Я знаю, что есть PDF-библиотеки, и чем больше я готовлю на них, тем больше это звучит как лучший вариант, хотя я не очень много работал с PDF-файлами и не знаю, насколько легко Встраиваемые они / какие параметры есть при их создании. Я знаю, что они могут быть инвалидами из-за спасения, у меня было это с моими кровавыми государственными налогами.
Мне нужно немного информации здесь. Вот вопросы TLDR:
- Является ли запуск нового экземпляра Word для каждого .doc настолько плохим, насколько я чувствую, данный пользователь может «сохранить как» документ, где бы он ни находился, а затем оставить приложение, указывающее на пустой документ?
- Пытается поддерживать встроенное Word как большую проблему, насколько мне хочетсяЭто / больше работы, чем стоит / может вызвать проблемы с поддержкой нескольких версий Word?(Прямая совместимость, а также выпущенные в настоящее время версии?)
- Что вы думаете о плане PDF?
- Есть ли у вас другие хорошие идеи?