Работа с документами PDF

12.04.23

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

Начиная с версии 8.3.21, в платформе 1С:Предприятие появились новые объекты для работы с популярным форматом PDF. Примеров использования в типовых конфигурациях пока найти не удалось, но задачи, где это было бы полезно, встречаются. В результате решения некоторых из них и родилось представляемое вашему вниманию расширение.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке [?] Купить один файл
Работа с документами PDF:
.cfe 45,41Kb
53
53
1 SM
Скачать Купить за 1 850 руб.

Расскажу подробнее, какие задачи были и как решались.

  • Предварительный просмотр. Проблема: при добавлении присоединенных файлов для картинок он работает, а для PDF-файлов нет. С новым объектом ДокументPDF это легко исправить. Решение: в форме обработки "Работа с файлами" добавим реквизит pdf_Документ, разместим его на форме в виде элемента "Поле PDF документа", перехватим событие ОбновитьПредпросмотр() и прочитаем двичные данные файла, отобразив на форме.
	ДвоичныеДанныеФайла = ПолучитьИзВременногоХранилища(АдресДанныхФайла);
	Поток = ДвоичныеДанныеФайла.ОткрытьПотокДляЧтения();
	ЭтотОбъект.pdf_Документ.Прочитать(Поток);
  • Групповая печать и отправка. Задача: требуется из произвольного документа иметь возможность сразу по всем позициям номенклатуры распечатать/отправить присоединенные файлы. Здесь документ не обязательно должен иметь формат PDF. Это может быть docx, xlsx, pdf, любая картинка... Решение: добавим общую команду, открывающую форму, которая считывает нужную информацию. В форме разместим команду печати "Сразу на принтер" и команду "Отправить", которая будут работать по аналогии с командами в форме типовой обработки "Работа с файлами".
  • В процессе тестирования предыдущей задачи также столкнулись ещё с рядом проблем: 1. PDF-файлы не удавалось напечатать из 1с. На помощь опять пришёл ДокументPDF и его методы Прочитать(), Напечатать(). Решение: перехват обработчика РаботаСФайламиКлиент.НапечататьФайлыВыполнение().

&Вместо("НапечататьФайлыВыполнение")
Процедура pdf_НапечататьФайлыВыполнение(ОбработчикРезультата, ПараметрыВыполнения)
	
	Если ПараметрыВыполнения.НомерФайла >= ПараметрыВыполнения.ДанныеФайлов.Количество() Тогда
		Возврат;
	КонецЕсли;
	ПараметрыВыполнения.ДанныеФайла = 
		РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляПечати(ПараметрыВыполнения.ДанныеФайлов[ПараметрыВыполнения.НомерФайла],
		ПараметрыВыполнения.УникальныйИдентификатор);
		
	Если НРег(ПараметрыВыполнения.ДанныеФайла.Расширение) = "pdf" Тогда
		ДвоичныеДанныеФайла = ПолучитьИзВременногоХранилища(ПараметрыВыполнения.ДанныеФайла.СсылкаНаДвоичныеДанныеФайла);
		Поток = ДвоичныеДанныеФайла.ОткрытьПотокДляЧтения();

		пДокументPDF = Новый ДокументPDF;
		пДокументPDF.Прочитать(Поток);
		пДокументPDF.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);
		
		// переходим к печати следующего файла.
		ПараметрыВыполнения.НомерФайла = ПараметрыВыполнения.НомерФайла + 1;
		Обработчик = Новый ОписаниеОповещения("НапечататьФайлыВыполнение", ЭтотОбъект, ПараметрыВыполнения);
		ВыполнитьОбработкуОповещения(Обработчик);
	Иначе
		ПродолжитьВызов(ОбработчикРезультата, ПараметрыВыполнения);
	КонецЕсли;
	
КонецПроцедуры
  • 2 проблема: печать картинок "сразу на принтер" работала не со всех рабочих мест. Кроме того, если и работала, выдавала лишние диалоговые окна настроек печати. Решение: при добавлении картинок сохранять их в pdf-формате. Сначала было решено опробовать метод создания Документа PDF и добавление в него картинки через ОписаниеОтображаемогоОбъектаPDF. На деле оказалось, что такой PDF весит в несколько раз больше исходной картинки (как пример, я оставил этот код в расширении, если кому интересно). Ну а после использовал классический вариант с картинкой в Табличном документе, который сохраняется в формате PDF. Результат порадовал - размер файла оставался примерно тем же, что у исходной картинки.

Итого, какие задачи по работе с Присоединенными файлами может помочь Вам решить расширение из данной публикации:

  1. Предварительный просмотр прикрепленных PDF прямо в 1С;
  2. Групповая печать и отправка присоединенных файлов (в т.ч. PDF) по всей номенклатуре из документа "Счет покупателю", "Счет от поставщика" (перечень типов документов, из которых будет доступна комнда печати/отправки, легко расширяется. Достаточно добавить нужный документ в Определяемый тип pdf_ДокументыСФайламиТоваров и экспортную функцию pdf_ТекстЗапросаВТНоменклатура() в модуль менеджера этого документа по аналогии с существующими);
  3. Добавление картинок с сохранением их в pdf-формате.

Протестировано на БП 3.0.133.17, платформа 8.3.22.1709 (должно работать на платформе не ниже 8.3.21.*).

См. также

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 руб.

12.06.2017    138119    761    292    

404

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | В продаже с 2019г. | Воспользовались более 176 предприятий! | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой, обращайтесь!

45650 руб.

15.04.2019    70370    175    146    

117

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 Бухгалтерский учет Управленческий учет Платные (руб)

Переход и перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:ERP Управление предприятием 2.5 и 1С:Комплексную автоматизацию 2.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.227.x), ERP 2.5 (2.5.16.x), КА 2.5 (2.5.16.x) .

28000 руб.

24.06.2020    62362    51    27    

81

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.228.x) и БП 3.0 (3.0.154.x). Правила подходят для версии ПРОФ и КОРП.

28000 руб.

15.12.2021    21785    144    40    

104

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3.87.x и УТ 11.5.16.x

28000 руб.

23.07.2020    48427    208    64    

170

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Платформа 1C v8.2 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

14580 руб.

18.02.2016    184518    573    509    

516

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

В продаже с 2018г. | Воспользовались более 41 предприятия! | Правила конвертации (КД 2) для переноса данных из БП 3 в УНФ | Переносятся все виды документов, начальные остатки и вся возможная справочная информация | Есть фильтр по организациям | Оперативно обновляем на новые релизы | Учет в БП 3 должен быть корректным, некорректные данные не переносятся | Можно бесплатно проверить на вашем сервере до покупки!

45650 руб.

10.07.2018    69165    46    126    

49

SALE! %

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос в продаже с 2015г., и мы постоянно работаем над его развитием. Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

45650 27000 руб.

24.04.2015    192451    141    241    

272
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ubnkfl 12.04.23 11:54 Сейчас в теме
Вы, случаем, не в курсе - умеет 1С ставить пароль на pdf?
2. VladimirElohov 135 12.04.23 13:27 Сейчас в теме
(1)
Вы, случаем, не в курсе - умеет 1С ставить пароль на pdf?

Cам ещё не пробовал, но в документации заявлено, должна уметь.
Прикрепленные файлы:
3. TMV 14 13.04.23 20:03 Сейчас в теме
Можно ли конвертировать в pdf из docx?
4. VladimirElohov 135 13.04.23 22:43 Сейчас в теме
(3)
Можно ли конвертировать в pdf из docx?

Пожалуй, самый простой вариант - сделать это с использованием COM-объекта "Word.Application". Для этого потребуется установленный пакет MS Office. Приведу кусок кода из публикации https://infostart.ru/public/1793311/
MSWord = Новый COMОбъект("Word.Application");
MSWord.Visible = Ложь;  
Документ  = MSWord.Application.Documents.Open(Элемент); 			
MSWord.ActiveDocument.Styles(-1).Font.Name = "Times New Roman"; 
MSWord.ActiveDocument.SaveAs2(ФайлВФорматеПДФ, 17,,,,,, Истина);				
Документ.Close(0);
MSWord.Quit();
begemotoff35; +1 Ответить
5. TMV 14 14.04.23 08:07 Сейчас в теме
(4) Так не интересно. Имелось ввиду здесь:
Начиная с версии 8.3.21, в платформе 1С:Предприятие появились новые объекты для работы с популярным форматом PDF
6. Prom-komplekt 03.08.23 06:43 Сейчас в теме
А как у вас реализован выбор принтера?
пДокументPDF.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);
7. xvchk 06.09.23 14:38 Сейчас в теме
(6)
А как у вас реализован выбор принтера?


Добрый день. Тот же вопрос. ДокументPDF дает напечатать без показа окна только на принтер по умолчанию. Удалось как-то реализовать выбор принтера и настройки параметров печати (поля, масштаб и т.д.)?
9. VladimirElohov 135 24.09.23 23:06 Сейчас в теме
(7) Вглубь этих механизмов не копал. Заказчика устроила печать на принте по умолчанию без доп.настроек
8. avkuz 06.09.23 14:44 Сейчас в теме
У меня почему-то при отображении сохраненного в 1С ПДФ - он "ломается".
прикрепляю картинку: слева, как в хроме он выглядит - справа, как в 1С
платформу поставил 8.3.23.1865
Прикрепленные файлы:
10. VladimirElohov 135 24.09.23 23:21 Сейчас в теме
(8) Тоже сталкивался с подобным в процессе тестирования на pdf-сканах. Похоже на баг платформы. На партнерском форуме есть ветка с обсуждением темы "Показ документа PDF в клиентском приложении". Один из коллег там ёмко выразился на этот счёт: "Просмотром pdf это можно назвать с натяжкой. Это скорее отображение картинок, сконвертированных из pdf-файла".
11. DELOVOYDOM 11.11.23 01:33 Сейчас в теме
Скачал обработку, но мне нужен только предпросмотр был. Ничего не работает в итоге. Как ни крутил не понял что куда как вставлять какую обработку перехватывать. Все равно пишет нет данных для предварительного просмотра. Версия 21
12. VladimirElohov 135 19.12.23 12:15 Сейчас в теме
(11)
Версия 21

Релиз конфигурации у вас какой? В новых версиях что-то могло сильно поменяться, что требует актуализации расширения.
13. DELOVOYDOM 20.12.23 14:28 Сейчас в теме
(12) Да все разобрался работает, спасибо. Уже сделал даже автоматическое прикрепления файла пдф к документу 1с путем перетаскивания файла с рабочего стола или проводника
14. YA_1003343880 29.03.24 10:47 Сейчас в теме
(13) Как сделал? Разве есть события по перетаскиванию из внешнего приложения?
15. VladimirElohov 135 05.04.24 12:27 Сейчас в теме
(14)
Разве есть события по перетаскиванию из внешнего приложения?

У формы таких событий, вроде, нет. А вот у некоторых элементов формы очень даже: DragStart, DragCheck, DragEnd, Drag.
Если интересно, можете посмотреть, как такое реализовано в типовой обработке Работа с файлами (форма Присоединенные файлы).
Прикрепленные файлы:
16. user595194_bendery_sh 17.04.24 10:40 Сейчас в теме
А что такое КоллекцияВложенийPDF ?
Можно ли в один файл PDF напихать несколько других файлов PDF чтобы получилость подобие многостраничного PDF ?
17. VladimirElohov 135 17.04.24 13:18 Сейчас в теме
(16)
А что такое КоллекцияВложенийPDF ?

На практике не пользовался. Но насколько я понимаю, формат PDF предусматривает возможность добавления вложений, которые по умолчанию не отображаются на страницах. По сути, как файлы-вложения в электронных-письмах.
18. user1497432 01.05.24 11:32 Сейчас в теме
Коллеги, при чтении данных в ПДФ документ на веб клиенте использую метод "ПрочитатьАсинх". Система требует установить расширение по работе с файлами. Однако в описании работы с ПДФ документами для релиза платформы 8.3.24 утверждается, что расширение для работы с файлами не требуется в веб-клиенте. Кто-то сталкивался с такой проблемой? Благодарю
Оставьте свое сообщение