Заполните форму и распечатайте документ - PullRequest
2 голосов
/ 17 февраля 2009

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

Форма, которую я имею, является документом Word, но я, очевидно, мог бы преобразовать его в PDF, если это необходимо.

Ответы [ 3 ]

1 голос
/ 17 февраля 2009

У вас есть документ Word в формате Open XML или в старом двоичном формате?

В Open XML эта задача может быть такой же простой, как манипулирование XML внутри пакета (ZIP-файл).

Если у вас есть двоичный файл Word, это может быть сложно. Вам нужно будет использовать .NET Programmability Support для Office и Microsoft.Office.Interop.Word namespace .

0 голосов
/ 17 февраля 2009

Как сказал Джозеф, если это документ OpenXML (Office 2007), вы можете использовать управляемые классы .net для простого обновления документа, который в основном изменяет несколько файлов XML, упакованных в архив и переименованных в .docx. Инструменты Visual Studio для Office (VSTO) должны помочь вам в случае необходимости для Office 2000 и 2003. Для предыдущих версий Office вам необходимо использовать COM-классы автоматизации Office.

Теперь для обновления полей в текстовом документе вам нужно будет указать, куда вставлять текст. Поэтому, если у вас есть закладки или маркеры, чтобы определить места, в которые вы хотите вставить текст ... вы можете искать эту позицию и вставлять текст. Печать слова doc должна быть простой, поскольку в Word встроена поддержка печати. ​​Должно быть так же просто, как вызвать правильный метод.

0 голосов
/ 17 февраля 2009

Вы работаете на стороне клиента или на стороне сервера?

На стороне клиента: начните смотреть Инструменты Visual Studio для Office .

На стороне сервера: это сложно. Мой совет: не запускайте клиентские офисные библиотеки в серверной среде. Я работаю над этим прямо сейчас, и если вы в этой лодке, не делайте этого. Ищите клиентскую библиотеку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...