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

12.04.23

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

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

Скачать исходный код

Наименование Файл Версия Размер
Работа с документами PDF:
.cfe 45,41Kb
46
.cfe 1.0.0.1 45,41Kb 46 Скачать

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

  • Предварительный просмотр. Проблема: при добавлении присоединенных файлов для картинок он работает, а для 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! 15%

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

Перенос данных 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    136878    735    292    

394

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0. Переносятся документы, начальные остатки и справочники

Перенос данных 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 | Можно проверить на вашем сервере перед покупкой, обращайтесь!

34650 руб.

15.04.2019    69582    170    141    

112

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

Перенос данных 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    47611    205    64    

166

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

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

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

28000 руб.

15.12.2021    21168    138    38    

97

Перенос данных из ERP 2 / КА 2 в ЗУП 3. Переносятся остатки, документы и справочники

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

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Воспользовались более 79 предприятий! | Предлагаем приобрести готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | В продаже с 2020г. | Оперативно обновляем правила до актуальных релизов 1С | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

43450 руб.

03.12.2020    34861    83    58    

81

Переход и перенос данных из УПП 1.3 в ERP 2.5, КА 2.5. Переносятся документы (обороты за период), справочная информация и остатки

Перенос данных 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    61763    45    27    

76

SALE! 10%

[ED2] Обмен УПП 1.3, КА 1.1, УТ 10.3 с EnterpriseData (универсальный формат обмена), обработка

Перенос данных 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    183724    566    508    

510

Перенос данных из КА 1.1 в КА 2.5. Переносятся документы, остатки и справочники

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

Перенос данных из КА 1.1 в КА 2 | из КА 1.1 в УТ 11 | Воспользовались более 367 компаний! | В продаже с 2015г. и постоянно развивается | Переносятся все возможные виды документов, начальных остатков и вся справочная информация из "1С:Комплексная автоматизация 1.1" в "1С:Комплексная автоматизация 2.х" / "1С:Управление торговлей 11" | Разработан в формате КД 2 (правила конвертации данных) | Есть фильтр по организациям | Оперативно обновляем на новые релизы | Есть фильтр по организациям при выгрузке | Есть выбор разных алгоритмов выгрузки начальных остатков | Можно проверить перенос до покупки!

45650 руб.

04.12.2015    189905    240    345    

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

Cам ещё не пробовал, но в документации заявлено, должна уметь.
Прикрепленные файлы:
3. TMV 14 13.04.23 20:03 Сейчас в теме
Можно ли конвертировать в pdf из docx?
4. VladimirElohov 132 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 132 24.09.23 23:06 Сейчас в теме
(7) Вглубь этих механизмов не копал. Заказчика устроила печать на принте по умолчанию без доп.настроек
8. avkuz 06.09.23 14:44 Сейчас в теме
У меня почему-то при отображении сохраненного в 1С ПДФ - он "ломается".
прикрепляю картинку: слева, как в хроме он выглядит - справа, как в 1С
платформу поставил 8.3.23.1865
Прикрепленные файлы:
10. VladimirElohov 132 24.09.23 23:21 Сейчас в теме
(8) Тоже сталкивался с подобным в процессе тестирования на pdf-сканах. Похоже на баг платформы. На партнерском форуме есть ветка с обсуждением темы "Показ документа PDF в клиентском приложении". Один из коллег там ёмко выразился на этот счёт: "Просмотром pdf это можно назвать с натяжкой. Это скорее отображение картинок, сконвертированных из pdf-файла".
11. DELOVOYDOM 11.11.23 01:33 Сейчас в теме
Скачал обработку, но мне нужен только предпросмотр был. Ничего не работает в итоге. Как ни крутил не понял что куда как вставлять какую обработку перехватывать. Все равно пишет нет данных для предварительного просмотра. Версия 21
12. VladimirElohov 132 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 132 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 132 17.04.24 13:18 Сейчас в теме
(16)
А что такое КоллекцияВложенийPDF ?

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