Всем доброе утро. У пользователей появилась хотелка получать в одном пдф файле пакет документов(СФ,Расходная накладная, ТТН,ТРН). Стоит ут 10.3 переписанная. Была идея запустить на платформе 8.3(там есть прекрасная возможность сохранять в один файл с помощью ПакетОтображаемыхДокументов), но не уверен что будет весь не типовой функционал нормально работать. Задача стоит именно в получении как отдельных файлов по каждому типу, так и общего файла. Копаю в сторону программного объединения с помощью PDFCreator(ручками объединять через программу естественно никто не хочет). Никто не сталкивался с такой задачей? Буду премного благодарен за любую помощь и идеи как это реализовать.
(2) ditp, Проблема в том, что некоторые страницы идут альбомными, а другие книжными...даже если объединю, то некоторые доки будут очень мелко печататься, что в моем случае недопустимо...
но не уверен что будет весь не типовой функционал нормально работать
волков боятся - в лес не ходить.
Уже все давно на 8.3 перешли.
По крайней мере 8.3.5 уже обкатана.
Даже если где то и вылезут косяки, - подпилишь и дело с концом.
Зато интересно, и новый функционал поюзаешь, и опыт расширишь, чем возится с этими мрачными, устаревшими обходными путями, типа пдф креатора.
(6) Boneman, да я с 8.3 уже и так знаком...просто ут версии трехлетней давности...и переписана вдоль и поперек...лишнюю работу(пусть пока и теоретически) вешать себе на шею особо не хочется))) Оставлю это на крайний вариант)
(29) nightowl, да, правда на 8.3. Все работает. На прошлой работе так был реализован механизм автопечати для автоматически созданных за прошедший день пакетов документов. Потом все записывалось в пять потоков на 5 линуксовых серверов, с которых уже печаталось на ХХ принтеров по всей Расеи-матушке.
Пакет позволяет также экспортировать табличные документы в один PDF файл. Для этого предназначен метод пакета ЗаписатьФайлДляПечати(), которому передается полное имя файла.
(40) ВладимирVolodya, я, лично, для картинок создавал табличный документ и вставлял туда нужные картинки. Можно между ними разрыв страницы вставлять. Потом уже табличный документ помещал в пакет, а пакет выгружал в PDF.
(31) nightowl, я, по всей видимости, не сразу понял, что Вы пытаетесь PDF-файлы склеить. Выше речь шла о том, чтобы склеивать сформированные табличные документы с разной ориентацией в один pdf-файл. Т.к. Вы хотите что-то другого, то, полагаю, склеить таким образом просто кучу уже сформированных pdf не получится.
(35) starik-2005, когда я писал про свою ВК, имел в виду именно нативную. что такое нативная ВК , я в курсе как бы. можно мою вторую публикацию посмотреть.
(35) starik-2005, на C# же написать обычный COM сервер по склейке pdf, вообще не проблема, это дело одного вечера, используя либо PDFSharp , либо ITextSharp.
(11) Здравствуйте! 7 лет прошло, а тема все еще актуальна.
Я получил фалы с сайта PDF (путь к временному файлу), и мне надо их склеить, а после открыть. Получается, что у меня вместо макета - ВремФайл.
Помогите пожалуйста, если знаете:
ПараметрыПолучения = ПолучениеФайловИзИнтернетаКлиентСервер.ПараметрыПолученияФайла();
ПараметрыПолучения.Таймаут = 120;
Результат = ПолучениеФайловИзИнтернета.СкачатьФайлВоВременноеХранилище(СсылкаНаСертификат, ПараметрыПолучения);
Если Результат.Статус Тогда
Данные = ПолучитьИзВременногоХранилища(Результат.Путь);
УдалитьИзВременногоХранилища(Результат.Путь);
ВремФайл = ПолучитьИмяВременногоФайла("pdf");
Данные.Записать(ВремФайл);
Возврат ВремФайл;
(8) AnryMc, Остановился на варианте с pdftk. Тема полезная, но почему-то не передаются файлы в программу при срабатывании команды "Запустить приложение" хоть все так же и делаю.
(15) Xershi, Да потому что УТ 10.3 переписана вдоль и поперек. И скок там вылезет новых ошибок из-за перехода на платформу 8.3 я даже загадывать не хочу...тем более ее, в свое время, изменяли три программиста...
(17) Xershi, не факт. У нас в режиме совместимости оказалось, что динамические списки ведут себя не совсем так, как привыкли пользователи. В итоге недели две зачищали вылезающие баги. Например, был баг с колонкой табличной части с наименованием "СтрокаПоиска" - в ней было пусто на форме, при попытке изменить платформа просто вылетала с ошибкой. Если на форме удалить старую ТЧ и перетащить ее снова из объекта - проблема исчезает.
Да это понятно что можно создать текстовый файл, но при сохранении файла указывая "ТипФайлаТабличногоДокумента" расширения bat нет...
Или я чет путаю?))
все. решил. Установил программку pdftk. Мож кому понадобится.
В обработке пакетной печати после создания всех файлов в формате пдф создаю такой бат файл:
Строка.ДобавитьСтроку("@echo on");
Строка.ДобавитьСтроку("cd "+ПутьКФайлу);
Строка.ДобавитьСтроку("pdftk *.pdf cat output 1111.pdf");
Строка.Записать(ПутьКФайлу+"\"+"dawn.bat","cp866");\\кодировку указываем чтобы он видел и папки названные на русском языке.
ЗапуститьПриложение(ПутьКФайлу+"\"+"dawn.bat");
сек = 5; \\ пауза чтобы отработал батник и удаляем его.
КонДата = ТекущаяДата() + сек;
Пока ТекущаяДата() < КонДата Цикл
// ждемссс....
КонецЦикла;
УдалитьФайлы(ПутьКФайлу+"\"+"dawn.bat");
(24) Попробовал сделать аналогичное - не получилось :(.
Батник создается, но не отрабатывает.
Если запустить созданный батник ручками, то объединенный файл создается.
правильно пишут, если есть возможность ,лучше изначально формировать из 1С нужный таб док и сохранять в pdf. если нет такой возможности, то можно и pdftk (публикацию уже кто-то сделал на эту тему). с другой стороны у меня есть моя глючная(не силен все таки я в плюсах( ) ВК , которая может это делать , которую пока не собираюсь выкладывать и еще я знаю есть com библиотека в интернете от сторонних разработчиков, которая отлично умеет это делать и многое другое. работает в том числе и на сервере. (минус только в инсталяции, регистрации, но достаточно сделать это на сервере) . если будет сильно интересно, как-нибудь опубликую публикацию по описанию библиотеки.
.
Если еще актуально кому-нибудь: в 1С при выполнении команды "ЗапуститьПриложение" почему-то не подхватываются переменные окружения винды, поэтому нужно указывать полные пути для всех исполняемых файлов. если указать полный путь к файлу pdftk.exe, то не нужно будут изобретать ни какие bat-ники