Имя: Пароль:
1C
1С v8
скрипт открыть файл в браузере распечатать закрыть файл
0 Мимохожий Однако
 
21.02.22
13:50
Есть пакет документов, сохраненных в файл pdf.
Ищу скрипт или подсказку, как этот файл открыть в браузере распечатать на нужном принтере (их несколько) и потом закрыть файл
1 DrShad
 
21.02.22
14:21
а без открытия никак?
2 mistеr
 
21.02.22
14:27
Можно на AutoHotKey наваять.
А кроме браузера ничего нет, способного печатать PDF?
3 Мимохожий Однако
 
21.02.22
17:29
Функция ВернутьПакетПечатнойФормы(НайдНастройка,ЗаказКлиента)
    ПакетПечатнойФормы = Новый ПакетОтображаемыхДокументов;      
    ПакетПечатнойФормы.ИмяПринтера=НайдНастройка.ИмяПринтера;  
    ПакетПечатнойФормы.Вывод=ИспользованиеВывода.Разрешить;    
    Если НайдНастройка.ДвусторонняяПечать=Истина Тогда
        ПакетПечатнойФормы.ДвусторонняяПечать=ТипДвустороннейПечати.ПереворотВлево;
    Иначе
        ПакетПечатнойФормы.ДвусторонняяПечать=ТипДвустороннейПечати.Нет;
    КонецЕсли;
    ИмяМакета=ПолучитьИмяМакета(НайдНастройка.ИмяМенеджераПечати);
    ИмяМенеджераПечати=ПолучитьМенеджераПечати(НайдНастройка.ИмяМенеджераПечати);
    ДопОбработкаПечати=НайдНастройка.СсылкаНаОбработку;
    ОбъектыПечати =  Новый СписокЗначений;
    КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(ИмяМакета);
    ОбъектОбр=ДополнительныеОтчетыИОбработки.ОбъектВнешнейОбработки(ДопОбработкаПечати);
    МассивОбъектов=Новый Массив;
    МассивОбъектов.Добавить(ЗаказКлиента);
    ОбъектОбр.Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, Новый  Структура("ДоступнаПечатьПоКомплектно",Истина));  //Ложь
    Для каждого ПечФорма Из КоллекцияПечатныхФорм Цикл
        ЭлементПакета=ПакетПечатнойФормы.Состав.Добавить();
        ТабДок=ПечФорма.ТабличныйДокумент;                        
        ТабДок.ОриентацияСтраницы=ОриентацияСтраницы[НайдНастройка.ОриентацияСтраницы];
        ТабДок.Автомасштаб=Истина;
        Если НайдНастройка.ДвусторонняяПечать=Истина Тогда
            ТабДок.ДвусторонняяПечать=ТипДвустороннейПечати.ПереворотВлево;
        Иначе
            ТабДок.ДвусторонняяПечать=ТипДвустороннейПечати.Нет;
        КонецЕсли;
        ЭлементПакета.Данные =ПоместитьВоВременноеХранилище(ТабДок);  
    КонецЦикла;
    Возврат ПакетПечатнойФормы;
КонецФункции
..
В этой функции признак двусторонней печати выставляется, но по факту печатные формы печатаются на одной стороне. В режиме открытия файла и печати на принтер в интерактивном режиме двусторонняя печать отрабатывается.
4 vbus
 
21.02.22
17:42
Ставишь платформу 8.3.21 и пожалуйста:
Реализована возможность просмотра и печати документов PDF средствами платформы «1С:Предприятие».


Поддерживается просмотр и проверка подлинности электронных подписей документа.
Поддерживается работа с зашифрованными документами. Текущие ограничения описаны в документации.

Реализован объект ДокументPDF. Реализован вид поля формы клиентского приложения ПолеPDFДокумента.
Реализованы методы глобального контекста ДокументЗащищенПаролем(), ДокументЗащищенПаролемАсинх().

Для объекта КоллекцияВложенийPDF реализованы методы: Очистить(), Удалить().
Для системного перечисления ТипФайлаДокументаPDF реализованы свойства PDF, PDF_A_1, PDF_A_2, PDF_A_3.

Для системного перечисления КатегорияОшибки реализованы свойства НеправильныйПароль и ОшибкаПроверкиПодписи.


Источник: https://dl03.1c.ru/content/Platform/8_3_21_1140/1cv8upd_8_3_21_1140.htm#9ef68ee2-ff46-11eb-8371-0050569f678a
5 Мимохожий Однако
 
21.02.22
18:21
(4) Типовая УТ. Нужна другая платформа
6 sitex
 
naïve
21.02.22
18:26
(0)  с помощью js
7 Deal with it
 
21.02.22
18:33
8 pechkin
 
21.02.22
18:33
(0) пдф можно и нужно без браузера печатать. Через браузер никак нельзя
9 pechkin
 
21.02.22
18:34
Есть утилиты командной строки
10 sitex
 
naïve
21.02.22
18:35
(8) Да ладно . Точно ?
11 Deal with it
 
21.02.22
18:35
ну или как вариант
НачатьПолучениеФайлаССервера(<Адрес>, <ИмяФайла>, <ПараметрыДиалогаПолученияФайлов>)
12 pechkin
 
21.02.22
18:46
(10) в самом жс можно только показать окно диалога печати
13 sitex
 
naïve
21.02.22
19:00
(12) Можно ! Пока крайне мере в google crome.
14 sitex
 
naïve
21.02.22
19:01
(12) Есть ключи отключения диалогового окна.
15 Мимохожий Однако
 
21.02.22
19:02
(7) Вот это?
Shell = Новый COMОбъект("Shell.Application");
Shell.ShellExecute(ИмяФайла,""""+ИмяПринтера+"""","","printto",0);
Как здесь задать режим двусторонней печати? Или эти параметры уже по умолчанию в принтере должны быть установлены?
16 Мимохожий Однако
 
21.02.22
19:03
(6) Наколка есть? Есть у тебя что-нибудь ближе к теме?
17 Мимохожий Однако
 
21.02.22
19:07
в объекте ПакетОтображаемыхДокументов есть метод Напечатать  с режимом диалога печати. Может быть, включить необходимость этого диалога? Возможно, тогда не придётся делать танцы с бубном и скриптами. Пожалуй попробую этот вариант.
18 sitex
 
naïve
21.02.22
19:13
(17) РежимИспользованияДиалогаПечати там есть
19 sitex
 
naïve
21.02.22
19:15
Так ты вопрос так поставил что тебе нужно только в браузере и скрипт.
20 Мимохожий Однако
 
21.02.22
19:37
(19) Каюсь. На параметр РежимИспользованияДиалогаПечати  сразу не докумекал, поэтому начал искать лобовой вариант. )