|
PDF и 1С | ☑ | ||
---|---|---|---|---|
0
nserg
03.12.13
✎
13:18
|
Доброго времени суток, уважаемые коллеги. перерыл весь интернет и так не нашёл как склеять несколько печатных форм в один PDF файл с помощью PDFCreator. вот есть темка http://infostart.ru/public/75969/ всё супер, но создаётся несколько файлов мож кто в курсе какой параметр нужно указать у PDFCreator, чтоб складывал напечатаное в один файл?
|
|||
1
spectre1978
03.12.13
✎
14:26
|
(0) По-видимому, надо посмотреть документацию к COM-объектам криэйтора. Там же можно сначала собрать кучку отправляемых на него документов без собственно печати, а затем скомбинировать их все в один документ.
|
|||
2
nserg
03.12.13
✎
14:35
|
(1) та вот документацию тож что-то найти не удалось
|
|||
3
viknik
03.12.13
✎
14:49
|
Можно сначала все печатные формы вывести в один табличный документ, а уж затем его сохранить в pdf.
|
|||
4
sikuda
03.12.13
✎
14:54
|
(3) Соглашусь, но ТС не ищет лугких путей.
|
|||
5
shachneff
03.12.13
✎
16:04
|
еще есть pdftk
|
|||
6
nserg
03.12.13
✎
16:22
|
(4) дело не в усложнении, просто есть два момент 1. Масштабирование ПФ; 2. Ориентация страницы.
В 1С это можно задать только для табличного документа, а не для области строк. отправлять на принтер кучу ПФ, тоже не вариант, т.к. на терминальных серверах установлен какой-то универсальный принтер EasyPrint и для его работу лучше отправлять одно задание а не 10 и более. В моем случае отправляется примерно 20-30 ПФ. по этой причине необходимо скомпоновать всё в один PDF и отправить на принтер |
|||
7
viknik
03.12.13
✎
16:43
|
Насчет EasyPrint - никаких проблем с печатью никогда не замечали. У нас тоже используется эта же технология, пакетом печатаются отгрузочные документы на автомобиль: число ПФ может доходить до сотни и никаких проблем. Если возникли у вас проблемы - пусть админы правильно настроят клиентские драйвера принтеров.
|
|||
8
nserg
03.12.13
✎
18:53
|
(7) админам проще сказать что проблема у вас и дать свои рекомендации, что собственно они и сделали. плюс у нас между принтерами и терминальными серверами сотни киллометров растояние
|
|||
9
nserg
03.12.13
✎
18:57
|
в общем ребята проблема решена
Попытка ПринтерПДФ = Новый COMОбъект(\"PDFCreator.clsPDFCreator\"); Исключение Сообщить(\"Не установлен драйвер принтера PDFCreator!\", СтатусСообщения.Важное); Возврат Неопределено; КонецПопытки; ПринтерыPDF = ПринтерПДФ.cGetPDFCreatorPrinters(); Если ПринтерыPDF.Count() = 0 Тогда ПринтерПДФ.cAddPDFCreatorPrinter(\"PDFCreator\"); ПринтерыPDF = ПринтерПДФ.cGetPDFCreatorPrinters(); КонецЕсли; ИмяПринтераPDF = ПринтерыPDF.Item<a rel="noindex,nofollow" href="/ajax/comment_pub.php?t=35747&c=1" target="_blank" title="Комментарий 1" class="comment-ref">(1)</a> ПринтерПДФ.cStart(\"/NoProcessingAtStartup\"); ПринтерПДФ.cClearcache(); ПринтерПДФ.cPrinterStop = 1; НаборОпций = ПринтерПДФ.cOptions(); НаборОпций.NoConfirmMessageSwitchingDefaultprinter = 1; НаборОпций.UseAutosave = 1; НаборОпций.UseAutosaveDirectory = 1; НаборОпций.AutosaveFormat = 0; // PDF НаборОпций.AutosaveDirectory = Путь; НаборОпций.AutosaveFilename = \"111.PDF\"; НаборОпций.AutosaveStartStandardProgram = 0; ПринтерПДФ.cOptions = НаборОпций; Для Индекс = 0 По ТабличныеДокументы.Количество() - 1 Цикл ТабДок = ТабличныеДокументы[Индекс]; ТабДок.ИмяПринтера = ИмяПринтераPDF; ТабДок.Напечатать(); КонецЦикла;; ПринтерПДФ.cCombineAll(); ПринтерПДФ.cPrinterStop = 0; Счетчик = 0; Пока ПринтерПДФ.cCountOfPrintjobs > 1 Цикл Счетчик = Счетчик + 1; ПринтерПДФ.cCombineAll(); Старт = ТекущаяДата(); Пока ТекущаяДата() <> Старт + 1 Цикл КонецЦикла; КонецЦикла; Старт = ТекущаяДата(); Таймаут = 5; Пока НЕ ЗначениеЗаполнено(ПринтерПДФ.cOutputFileName) ИЛИ (ТекущаяДата() - Старт < Таймаут) Цикл КонецЦикла; ПринтерПДФ.cClearcache(); ПринтерПДФ.cClose(); ПринтерПДФ = Неопределено; Возврат Истина; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |