![]() |
![]() |
![]() |
|
Напечатать несколько PDF файлов из 1С | ☑ | ||
---|---|---|---|---|
0
Evil-Wisp
24.09.10
✎
06:47
|
В базе в регистре хранятся имена PDF файлов, соответствующих номенклатуре. Пользоателю из реализации нужно выводить на предосмотр и печать все pdf файлы, соответствующие номенклатуре из табличной части.
Вопрос: Как сделать предосмотр всех файлов сразу(как бы соединить документы), либо напечатать сразу все документы? Пока сделал просмотр через оъект ActiveX - Adobe PDF reader отдельного файла, но не получается отправить на печать сразу все документы. Заранее спасибо! |
|||
1
Андрюха
24.09.10
✎
06:49
|
Word 2007/2010 понимает pdf, может через него как-нибудь
|
|||
2
Evil-Wisp
24.09.10
✎
06:56
|
Чем может помочь word? мне нужно отправить на печать несколько pdf документов, или соединить их в один и распечатать
|
|||
3
Мимохожий Однако
24.09.10
✎
07:41
|
Осталось в объекте Адоба найти метод для печати
|
|||
4
Evil-Wisp
24.09.10
✎
07:51
|
Там есть метод печати Printall(), но если попытаться в цикле сделать перебор документов и их печать, выдается ошибка о занятости принтера и печатается только первый док.
|
|||
5
smaharbA
24.09.10
✎
08:01
|
у ридера вполне вменяемая командная строка
|
|||
6
Evil-Wisp
24.09.10
✎
08:03
|
(5)Как ее использовать через 1С?
|
|||
7
Fragster
гуру
24.09.10
✎
08:07
|
(6) командасистемы?
|
|||
8
Fragster
гуру
24.09.10
✎
08:07
|
wscript.shell?
|
|||
9
ShoGUN
24.09.10
✎
08:07
|
(6) ЗапуститьПриложение/КомандаСистемы
|
|||
10
Evil-Wisp
24.09.10
✎
08:13
|
(7,9)Спасибо!
|
|||
11
idw
24.09.10
✎
08:14
|
(0)
Процедура СохранениеВПДФ(СсылкаНаОбъект, ТабДокумент) Экспорт ИмяКаталогаПДФ = Константы.ИмяКаталогаПДФ.Получить(); Если ТипЗнч(СсылкаНаОбъект) = Тип("ДокументСсылка.СчетНаОплатуПокупателю") тогда ИмяФайла = "СЧ_"+Формат(СсылкаНаОбъект.Дата,"ДФ=yyyy-MM-dd")+"_"+СокрЛП(СсылкаНаОбъект.ИДКлиента)+".pdf"; ИначеЕсли ТипЗнч(СсылкаНаОбъект) = Тип("ДокументСсылка.РеализацияТоваровУслуг") тогда ИмяФайла = "РЕ_"+Формат(СсылкаНаОбъект.Дата,"ДФ=yyyy-MM-dd")+"_"+СокрЛП(СсылкаНаОбъект.ИДКлиента)+".pdf"; ИначеЕсли ТипЗнч(СсылкаНаОбъект) = Тип("ДокументСсылка.СчетФактураВыданный") тогда ИмяФайла = "СФ_"+Формат(СсылкаНаОбъект.Дата,"ДФ=yyyy-MM-dd")+"_"+СокрЛП(СсылкаНаОбъект.ИДКлиента)+".pdf"; Иначе ИмяФайла =""; КонецЕсли; //ОбъектПринтер = Новый COMObject("PDFCreator.clsPDFCreator"); //ОбъектПринтер.cStart("/NoProcessingAtStartup"); //PDFПринтеры = ОбъектПринтер.cGetPDFCreatorPrinters(); //НаборОпций=ОбъектПринтер.cReadOptions(); //НаборОпций.UseAutosave=1; // автосохранение //НаборОпций.UseAutosaveDirectory = 1; // сохранять в //НаборОпций.AutosaveDirectory = ИмяКаталогаПДФ; // путь автосохранеия //НаборОпций.AutosaveFilename = "СЧ_"+Формат(СсылкаНаОбъект.Дата,"ДФ=yyyy-MM-dd")+"_"+СокрЛП(СсылкаНаОбъект.Номер)+"_"+СокрЛП(СсылкаНаОбъект.ИДКлиента)+".pdf"; // имя файла ////НаборОпций.AutosaveFilename = "111.pdf"; //НаборОпций.AutosaveFormat = 0; // формат - PDF // //ОбъектПринтер.cOptions=НаборОпций; // //ОбъектПринтер.cClearcache(); //ОбъектПринтер.cPrinterStop = Ложь; //ОбъектПринтер.cStart(); // //ТабДокумент.ИмяПринтера = PDFПринтеры.Item(1); //ТабДокумент.Напечатать(ИСТИНА); ////***************************************************** PDFCreator = Новый ComОбъект("PDFCreator.clsPDFCreator"); PDFCreator.cStart ("/NoProcessingAtStartup"); PDFCreatorOptions = PDFCreator.cOptions(); // Устанавливаем обязательные параметры # Если Не Клиент тогда PDFCreatorOptions.ShowAnimation = False; PDFCreatorOptions.NoConfirmMessageSwitchingDefaultprinter =True; # КонецЕсли PDFCreatorOptions.NoConfirmMessageSwitchingDefaultprinter =True; PDFCreatorOptions.UseAutosave= 1; PDFCreatorOptions.UseAutosaveDirectory = 1; PDFCreatorOptions.AutosaveFormat = 0 ; // 0 = PDF DefaultPrinter = PDFCreator.cDefaultprinter; PDFCreator.cClearcache(); PDFCreator.cPrinterStop = false; PDFCreator.cDefaultprinter = "PDFCreator"; // Устанавливили обязательные параметры // Устанавливили параметры для документа, переданные в функцию PDFCreatorOptions.AutosaveDirectory = ИмяКаталогаПДФ; PDFCreatorOptions.AutosaveFilename = ИмяФайла; PDFCreator.cOptions = PDFCreatorOptions; Готово = Ложь; Старт = ТекущаяДата(); ТабДокумент.Напечатать(Истина); PDFCreator.cDefaultprinter = DefaultPrinter; Пока ТекущаяДата() - Старт < 30 Цикл ОбработкаПрерыванияПользователя(); //ПриостановкаВыполнения(150); ном = 0; Пока Ном < 10 Цикл ном = ном + 1; КонецЦикла; ИмяИтоговыйФайл = PDFCreator.cOutputFileName; Если ЗначениеЗаполнено(ИмяИтоговыйФайл) и ТекущаяДата()-Старт > 1 тогда Готово = Истина; Прервать; КонецЕсли КонецЦикла; # Если клиент тогда Если не Готово Тогда Предупреждение("Внимание! Документ не создан !"); КонецЕсли; # КонецЕсли PDFCreator.cClearcache(); PDFCreator.cClose(); PDFCreator = Неопределено; КонецПроцедуры |
|||
12
idw
24.09.10
✎
08:15
|
Используй программку PDFCreator, она позволяет сохранять документы в pdf, объединять их.
|
|||
13
Fragster
гуру
24.09.10
✎
08:17
|
(11) интересненько
|
|||
14
idw
24.09.10
✎
08:20
|
(11) этот кусок у меня сохраняет в пдф печатные формы документов из обработки групповая печать в определенный каталог.
|
|||
15
Evil-Wisp
24.09.10
✎
09:51
|
Подскажите как в коммандной строке напечатать несколько документов:)
КомандаСистемы("""D:\Program Files\Adobe\Reader 8.0\Reader\AcroRd32.exe"" /t 1.pdf"); КомандаСистемы("""D:\Program Files\Adobe\Reader 8.0\Reader\AcroRd32.exe"" /t 2.pdf"); если по очереди печатать, то долго получается. |
|||
16
Evil-Wisp
24.09.10
✎
10:54
|
Или все таки придется объединять все в один документ?
|
|||
17
smaharbA
24.09.10
✎
11:15
|
печатай "враз" через
ЗапуститьПриложение() |
|||
18
Evil-Wisp
24.09.10
✎
11:32
|
(17) Спасибо, все быстро теперь:)
А можно программно закрыть акробат после завершения печати? |
|||
19
smaharbA
24.09.10
✎
11:34
|
можно
|
|||
20
Evil-Wisp
24.09.10
✎
11:53
|
Как я понимаю нужно указать параметр для акробата, чтобы он сам закрылся? Если не секрет, то какой?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |