Печать в терминале 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С.

См. также

SALE! %

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

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

12000 10000 руб.

02.09.2020    164821    914    402    

889

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

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

8400 руб.

20.08.2024    9812    81    35    

90

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

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

22200 руб.

06.10.2023    16231    39    9    

75

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

9360 руб.

17.05.2024    24913    81    48    

125

SALE! %

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

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

15000 10000 руб.

10.11.2023    11014    40    27    

66

SALE! %

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

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

4800 3840 руб.

14.01.2013    189394    1146    0    

916

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

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

2220 руб.

21.02.2023    8283    8    38    

24

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    103526    244    100    

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

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

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

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

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

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

Тут уже не до экономии =)
Last_Lame; +1 Ответить
10. compil7 81 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С другая, так что не до долгосрочного планирования, увы :(
Оставьте свое сообщение