Программная печать документа из DIRECTUM 

Денис Баранов
Дата создания: 24 января 2012 в 18:37

Иногда появляются вопросы - как отправить документ на печать прямо из системы DIRECTUM, минуя открытие в приложении-редакторе? Ответ - совсем без приложения не обойтись, но определенных успехов в деле печати добиться можно.

Теоретически система DIRECTUM, да и Windows, не умеют и не должны уметь самостоятельно печатать документы/файлы. Потому что между бинарным представлением данных и их человекочитаемым отображением лежит пропасть. Не так уж принципиально, какое оборудование использовать для отображения - монитор или принтер, в любом случае бинарные данные необходимо сначала преобразовать в понятный человеку формат. Вот так, никто, наверное, читать не хочет:

Поэтому обязательно нужно некоторое приложение, которое понимает формат файла/документа и может его привести человеку в понятном виде. Обычно разработчик этого приложения - это разработчик формата данных. В случае распространенных открытых форматов разработчиком приложения может быть кто угодно.

Но это все предисловие. Итак, допустим, мы все же хотим как-то упростить печать документа, сделать его дружественнее для пользователя. В Windows для этого придумали пункт контекстного меню "Печать". При выборе этого пункта Windows смотрит в реестре - какую программу и с какими ключами нужно вызвать для файла с таким расширением. Ну и, разумеется, вызывает эту программу, передавая ей путь к файлу и то, что с ним надо сделать (напечатать). В этом случае некоторые просмотрщики не открывают никаких окон, просто отправляют файл на принтер по умолчанию. Пользователю кажется, что документ напечатался прямо из Windows. Некоторые приложения выведут какие-нибудь дополнительные вопросы - зависит уже от разработчика. Если мы хотим напечатать документ прямо из DIRECTUM, то логично будет воспользоваться таким же механизмом.

Итак, допустим, у нас есть кнопка "Печать" на карточке документа, которая выгружает текущий документ в файл на диск во временную папку. Что с этим файлом делать дальше? Дальше надо запустить команду "Печать" Windows:

EDoc.Export(VersionNumber; FileName; FALSE)        
ShellApplication.ShellExecute(FileName; ''; ''; 'print'; smHidden) 

В результате, если все в Windows настроено правильно, то мы получим напечатанный на принтере по умолчанию документ. Но настройка Windows для этого сама по себе бывает не очень проста, поэтому приведу пример для TIF и PDF.

Настройка проводника Windows

Настройка проводника для ОС Windows XP, Windows 2003 Server:

1. Открыть Свойства папки через Пуск->Настройка->Панель управления->Свойства папки.

2. На вкладке Типы файлов выбрать тип tif и нажать на кнопку Дополнительно:

3. В окне «Изменение свойств типа файлов» выбрать действие Печать и нажать на кнопку Изменить.

4. В поле Приложение, исполняющее действие указать приложение MSPVIEW.EXE с ключами /p "%1" (рис.8):

5. Повторить шаги с 2 по 4 для типа файла tiff.

6. Повторить шаги с 2 по 4 для типа файла pdf. В качестве приложения указать AcroRd32.exe с ключами /p /h "%1".

Допускается настройка любых других приложений, обладающих способностью невизуальной отправки на печать файлов из командной строки (например, MSPaint).

Настройка проводника для ОС Windows 7, Windows 2008 Server:

Настройка печати файлов типа TIF и TIFF:

В ОС Windows 7 и Windows 2008 Server отсутствует возможность настроить отправку на печать без предварительного просмотра (невизуальная отправка) для типов графических файлов tif и tiff. Тем не менее, можно настроить невизуальную отправку на печать всех типов графических файлов посредством правки реестра. Для этого необходимо выполнить следующие действия:

  1. Открыть редактор реестра (Пуск-Выполнить-regedit).
  2. В открывшемся окне открыть ветвь HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\print\command:

  1. В параметре по умолчанию нужно поменять значение на нужное. Значение должно состоять из пути к исполняемому файлу программы, через которую будет происходить печать, и ключей /p и “%1”. Например: "C:\WINDOWS\system32\mspaint.exe" /p "%1":

  1. Удалить соседний раздел DropTarget (перед удалением рекомендуется сделать резервную копию параметра по умолчанию, скопировав значение в текстовый документ). Для того чтобы удалить раздел, необходимо нажать на нем правой кнопкой мыши и выбрать пункт «Удалить», на предупреждение системы о том, что будет удален этот раздел и все его подразделы нажать на кнопку Да:

  1. Нажать на кнопку ОК, закрыть редактор реестра.

 

Настройка печати файлов типа PDF

Для настройки невизуальной отправки на печать файлов типа PDF, необходимо выполнить следующие действия (на примере Adobe Reader):

  1. Открыть редактор реестра (Пуск-Выполнить-regedit).
  2. В открывшемся окне открыть ветвь HKEY_CLASSES_ROOT\AcroExch.Document.7\shell\Print\command:

  1. В параметре по умолчанию в конец значения добавить ключ “/h”. Например: "C:\Program Files (x86)\Adobe\Acrobat 7.0\Reader\AcroRd32.exe" /p /h "%1":

  1. Нажать на кнопку ОК, закрыть редактор реестра.

Для других программ, отличных от Adobe Reader (например, FoxitReader) нужно искать схожую ветку в реестре с именем этой программы.

 

понравилась 10 пользователям

Комментарии (2)
Комментарии доступны только для зарегистрированных пользователей.
Теги
4.7 4.8 awards isbl is-builder sql server бизнес-решение введение в is-builder видео дайджест документ интеграция клик настройка отчет разработка сообщество справочник сценарий функция
показать все теги