1

TLDR: Как я могу преобразовать DOC(X) в PDF и сохранить CustomDocumentProperties и Fields - так, чтобы я мог программно обновлять пользовательские свойства и печатать PDF с помощью службы Windows?

!TLDR

У нас есть собственное внутреннее приложение, сочетающее создание DOCX с последующим обновлением на месте и печатью. Приложение как оно есть - программа на основе Windows Form - работает, но требует, чтобы оно запускалось из пользовательской оболочки. Я хочу обновить эту программу для запуска из службы Windows.

Вопрос с DOCX в службе Windows печатает. На сервере должен быть установлен Word. Word плохо воспроизводится вне пользовательской оболочки - модальные диалоги, пользовательские приглашения (хотите восстановить один из них? Вы хотите включить редактирование этого документа? и т. д.), необходимые записи в реестре и т. д.

Я изучаю, как настроить наш рабочий процесс в формате PDF на сервере.

Workflow

DOC(X) Подготовка / создание (вручную, не в программе):

  • Импорт / запуск VBScript:
    • Получить столбцы таблицы / представления из базы данных.
    • Каждый столбец входит в CustomProperty.
  • Поместите поля в документ для желаемых пользовательских свойств.

Таким образом, CustomerName , AddressLine1 , City и т.д. Добавляются как CustomDocumentProperties ... затем поля размещаются в правильных местах формы для автоматической печати в автоматизированной программе.

Использование DOCX (автоматически, в программе):

  • Вытащить строку из той же таблицы
  • Поместите правильные данные в каждый CustomDocumentPropertyField
  • Обновление полей (заменяет CustomerName на Doe, John , City на Whoville и т.д.)
  • Распечатать документ на правильный принтер

Желаемые изменения

Я ищу либо

а. Преобразуйте DOC(X) в PDF-файл таким образом, чтобы передача пользовательских свойств, а также возможность замены полей оставались без изменений. Было бы 1) Создать DOCX (многие из них существуют в настоящее время и является текущим рабочим процессом), 2) Преобразовать в PDF, 3) Обновить / распечатать PDF. PRO: постоянное использование текстовых продуктов, которыми клиенты довольны / обучены. Минусы: возможно сложное преобразование docx / pdf посередине в обмен на более простую печать PDF внутри службы Windows.

б. Замените DOC(X) полностью и вместо этого используйте инструменты создания PDF. PRO: тот же двухступенчатый процесс. CON: пользователи привыкли к созданию DOC(X). Может потребоваться дополнительное программное обеспечение / обучение. Многие документы должны быть преобразованы.

с. Обойдите DOCX как сервис и заставьте его печатать внутри сервиса.

Этот вопрос изучает - a Имеется документ Word с пользовательскими свойствами документа и полями, помещенными в документ ... Я, кажется, теряю эти свойства И поля заменяются текущими значениями, когда я конвертирую в PDF через DOC(X) conversion to PDF в Word. Какие другие жизнеспособные варианты существуют для преобразования в PDF - сохранение этой информации для шага Save As PDF .

1 ответ1

0

Используйте pdfsharp, это библиотека с открытым исходным кодом. Вы можете установить пользовательские свойства pdf следующим образом:

PdfDocument document = PdfReader.Open("c:\\Test.pdf"); 
document.Info.Elements.Add(
     new KeyValuePair<String, PdfItem>("/MyKey", new PdfString("MyValue")));
document.Save("c:\\test.pdf");

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .