Печать в терминале Windows

16.01.13

Разработка - Инструментарий разработчика

Существует проблема печати в терминальной сессии Windows. Особенно это актуально для тех, кто работает с 1С. Есть как платные, так и бесплатные решения. Например, платное решение ScrewDrivers от фирмы triCerat стоит более 50000 рублей. Вашему вниманию предлагается программа, которая в связке с бесплатными FoxitReader и PDFCreator решает обозначенную проблему. В Windows 10 можно обойтись и без установки PDFCreator.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Печать в терминале Windows для FoxitReader:
.7z 483,01Kb
0
0 Скачать (1 SM) Купить за 1 850 руб.

Существует довольно много как стандартных, так и нестандартных решений проблемы печати в терминальной сессии Windows. Данная публикация и предлагаемая программа-скрипт, написанная на AutoIT, не претендуют на новизну, а являются результатом практической реализации идей из следующих источников:

http://autoit-script.ru/index.php?topic=5266.0

http://habrahabr.ru/post/112404/

http://www.forum.mista.ru/topic.php?id=249047

Итак, исходные данные. 1)На клиенте должен быть установлен FoxitReader. 2)В терминальной сессии - виртуальный принтер PDFCreator. 3)Также необходимо наличие программы-скрипта PrintFoxit.exe для 32-х разрядной или PrintFoxit_x64.exe для 64-х разрядной версии Windows. Программа-скрипт предполагает стандартный каталог установки программ - Program Files, иначе работать не будет, чтобы работало нужно править скрипт (на всякий случай исходные коды прилагаются).

1.На клиенте создаем каталог, куда будут копировать pdf-файлы. В этот каталог помещаем исполняемый файл PrintFoxit.exe или PrintFoxit_x64.exe в зависимости от версии Windows. Создаем ярлык на PrintFoxit.exe в автозагрузке и запускаем файл. Программа должна быть в памяти системы, так как она постоянно анализирует свой текущий каталог на наличие pdf-файлов.

2.Настраиваем терминальный клиент. В его свойствах, там где определяются локальные ресурсы, должна стоять галочка напротив диска, на котором находится каталог с файлом PrintFoxit.exe. См. рис.1. У меня это диск D:\ .  Т.е. к терминальной сессии должен быть подключен локальный диск клиента с каталогом, куда будут копироваться PDFCreator-ом файлы, отправленные в терминале на печать.

3.В терминальной сессии настраиваем PDFCreator. В настройках Авто-сохранение указываем подключенный в терминале диск с папкой, где находится PrintFoxit.exe. У меня это: \\d\ДляПечати

3.1. Если в качестве терминального сервера используется Windows 10, то можно не устанавливать и использовать PDFCreator, а воспользоваться встроенной программой Microsoft Print to PDF. Подробная настройка такой программы описана по ссылке:

Поддержка печати в PDF файл в Windows 10

4.В терминальной сессии в качестве принтера по-умолчанию для удобства нужно указать принтер PDFCreator.

4.1.Если используется Microsoft Print to PDF, то нужно при сохранении файла указать примонтированный в терминальной сессии диск с каталогом для печати.

Печать терминал виртуальный PDF-принтер 1С.

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

12000 руб.

02.09.2020    172081    964    403    

924

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14619    109    46    

108

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    17345    43    15    

75

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    27366    96    48    

138

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    11957    45    33    

67

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    191342    1153    0    

920

Инструментарий разработчика Программист 8.3.14 Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    18117    7    32    

42

Инструментарий разработчика Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    1153    2    0    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Иной 17.01.13 01:17 Сейчас в теме
А в чём проблема то? Если принтера сетевые - беспроблемно. Не сетевые можно сделать сетевыми с помощью принтсерверов.

На терминал прописываются все принтера, на которые нежна печать и вуаля. Проверенно, работает даже если сидишь терминалкой на серваке в другом конце страны а печатаешь себе на принтер (устанавливаются дрова притрера, или даже принтер локально. Прописывается порт подключения на апишку принтера).

Ни в коем случае не нужно "тянуть" свои локальные принтера терминалным подключением, иначе будут множится принтера на терминалве. А так как описано выше - работает =). Причём без использования стороннего софта, штатными средствами.

Единственное условие - условно единая сеть со статическими апишками.
4. compil7 82 17.01.13 18:14 Сейчас в теме
(1) Иной, описываемый в публикации способ печати - это один из самых простых вариантов решения.
Ваш вариант (хотя, конечно, он не ваш, потому что применяется уже давно) тоже использовался и неоднократно. Но есть организации или отдельные бухгалтера, которые ни в какую не хотят осуществлять дополнительные расходы, например, покупать принтсерверы. Кроме этого, на терминал нужно дополнительно устанавливать драйвера принтера, а это не всегда возможно, если сам не администрируешь сервер.
В используемом способе подключения ни в коем случае не нужно пробрасывать локальные принтеры на терминальный сервер!!! Подключается только локальный диск с папкой, в которую через терминальную сессию сбрасываются pdf-документы на печать. После печати эти документы автоматически удаляются с помощью используемой программы-скрипта. Если нужно, то скрипт можно переделать и архивировать распечатываемые документы в отдельную папку пользователя, потом в случае каких-либо непоняток предъявить ему в качестве доказательства.
В предложенном способе абсолютно не нужно условно-единая сеть со статическими ip-шниками.
2. Alister 10 17.01.13 01:26 Сейчас в теме
На терминал прописываются все принтера, на которые нежна печать и вуаля.

Не в применение этой разработки, а только для уточнения - не под все принтеры есть драйвера, например для 2008R2
3. Иной 17.01.13 01:52 Сейчас в теме
(2) Alister, Тоже вариант. Но тут тогда больше проблема в планировании развития =). Потому как получается сервак новенький поставить поставили, а про то что на нём работать придется не подумали...

Тогда вопрос становится интересным.
7. compil7 82 17.01.13 18:27 Сейчас в теме
(3) Иной, зачастую так и происходит. Приходишь в организацию и слышишь: мы купили сервер для 1С, чтобы быстрее работать. Потом выясняется, что у них 1С 7.7 и работает в ней около 10 человек, и используется файловый вариант, и база выросла. Покупать sql-версию не хотят, но хотят чтоб быстрее работало. Естественно, единственное решение - терминальный режим. Хорошо, если все сидят в одном здании и есть ethernet, тогда не проблема просто расшарить принтеры...
5. compil7 82 17.01.13 18:19 Сейчас в теме
(2) Alister, очень часто в качестве терминального сервера используют обычную WindowsXP. Предложенный способ может решить проблему печати, даже если в качестве терминала используется FreeBSD или Linux.
6. Иной 17.01.13 18:23 Сейчас в теме
Согласен. Переспав с этой мыслью, соглашаюсь. В варианте когда нужно работать с тем что уже есть.

Только нужно уточнить что клиент в этом контексте это система с установленным принтером, на базе которой будет осуществляться печать.

То есть весть механизм заключается в переборе содержимого папки и отсылке оного на печать?
8. compil7 82 17.01.13 18:34 Сейчас в теме
(6) Иной, ну конечно! Клиент - это обычная бухгалтерша, у которой стоит обычный usb-шный принтер и которая работает в терминале, а терминал установлен неизвестно где...
В папке максимум находится только исполняемый файл скрипта и один pdf-документ, который после распечатки удаляется.
9. Иной 17.01.13 18:38 Сейчас в теме
=). У меня просто пользователи разбросаны по стране группами более чем по 100 человек. И много-много принтеров.

Тут уже не до экономии =)
Last_Lame; +1 Ответить
10. compil7 82 17.01.13 18:45 Сейчас в теме
(9) Иной, в вашем случае, конечно, идеальный вариант - это ScrewDrivers от triCerat. Дорого, но зато сердито и надежно.
11. Иной 17.01.13 18:55 Сейчас в теме
Проще принтера покупать к которым есть дрова. Тем более что дешевле покупать большие МФУ-кши рассчитанные на сотни тысяч страниц печати чем дергаться с мелкими принтерами (которые при таком объеме печати долго не живут).

Ну и для ускорения работы баз основную роль играет не версия винды а качество железа. У нас блейд система и 2003 винда работает нормально (терминалки). Жаль когда решение принимают не ИТ специалисты, или если принимают то не обдуманные. А потом уже и деваться то некуда =)
12. Alister 10 17.01.13 20:34 Сейчас в теме
Иной, Вы по-видимому фикси, а я узнал, что будет сервер с win2008r2 только когда его уже купили, ибо железо обслуживает одна фирма, а 1С другая, так что не до долгосрочного планирования, увы :(
Оставьте свое сообщение