Имя: Пароль:
1C
1С v8
Печать внешнего pdf файла
,
0 Хранитель Совести
 
07.10.15
11:16
Приветствую вас, мудрое сообщество, и прошу совет.

Каким образом можно из 1С распечатать pdf файл, который расположен на диске?
Условия задачи:
- Вывод должен осуществляться на указанный принтер.
- Желательно с использованием Windows компонент (чтобы не устанавливать стороннее ПО).

Перебрал множество разнообразных вариантов, но в полной мере добиться желаемого результата не удалось.

Заранее спасибо!
1 13_Mult
 
07.10.15
11:21
2 Хранитель Совести
 
07.10.15
11:25
(1) Смотрел. Через AcroRd32 не подходит, т.к. его нужно устанавливать.
3 zak555
 
07.10.15
11:26
ставим pdf-принтер и не морочим мозг
4 Хранитель Совести
 
07.10.15
11:26
Вот эта конструкция подходит, но она позволяет отправить на принтер по-умолчанию, а надо на заданный.

Shell = Новый COMОбъект("Shell.Application"); Shell.ShellExecute(ИмяФайлаPDF, "", "", "print", 0);
5 Господин ПЖ
 
07.10.15
11:27
>Каким образом можно из 1С распечатать pdf файл, который расположен на диске?

а в Doom из 1с играть не надо? и чтобы Doom не устанавливать?
6 Хранитель Совести
 
07.10.15
11:29
(3) Какую проблему решает pdf-принтер?
Надо чтобы по нажатию на кнопку выполнялась печать, а не сохранение файла в формате pdf. PDF-файл и без этого уже есть.
7 Хранитель Совести
 
07.10.15
11:35
(5) В посте (4) я указал компоненту с помощью которой можно реализовать возможность печати pdf без установки AcroRd32. Я не спрашиваю о чем-то нереальном.
Если Вам нечего добавить по существу, прошу не отяжелять обсуждение бредовыми выпадами.
8 Сияющий в темноте
 
07.10.15
11:35
Чтобы напечатать pdf нужна программа просмотра pdf в windows 8 она есть,а в 7 и ранее ещё нужно ставить
так что без установки не взлетит
9 jurassic
 
07.10.15
11:36
(5) документов много получится: на каждый шаг, на каждый выстрел...
10 Анютик
 
07.10.15
11:42
(0) а всю задачу можно? зачем из 1с печатать пдф? практическое применение мне не понятно, фантазии не хватает:)
11 jurassic
 
07.10.15
11:43
(10) ну надо же откуда-то печатать пдф
12 Хранитель Совести
 
07.10.15
11:48
(10) Регистрируем через API посылку на сервере курьерской службы. После этого, так же через API-запрос, получаем изображение маркировки посылки в формате pdf. Полученный файл нужно вывести на печать, чтобы наклеить на посылку.

Проблема в том что на принтер по умолчанию pdf выводится. Надо вывести на указанный.
13 Анютик
 
07.10.15
11:55
а в (4) нет параметра у процедур? что-то не верю я, что нельзя указать. Это как-то совсем нелогично. Если руками можно выбрать принтер, значит, 100%, куда-то параметр принтера можно и программно запихать
14 Хранитель Совести
 
07.10.15
12:01
(13) Вот у меня имеется такой же вопрос :)
Не могу найти ничего подходящего...
15 jurassic
 
07.10.15
12:05
(13) Prints the file specified by lpFile. берёт и печатает
16 Хранитель Совести
 
07.10.15
13:07
Задачка упрощается до использования Foxit Reader.
Есть ли параметры позволяющие вывести pdf на печать с использованием авто-масштабирования?
17 Хранитель Совести
 
07.10.15
13:39
WshShell = Новый COMОбъект("WScript.Shell");

WshShell.Run("""C:\Program Files (x86)\Foxit Software\Foxit Reader\Foxit Reader.exe"" /t """ + ИмяФайлаPDF+ """ """ + ИмяПринтера + """", 1);

В настройках печати программы Foxit Reader ставим галочку "choose paper source by pdf page size".

Готово.
Программист всегда исправляет последнюю ошибку.