Работа с PDF файлами в 1С без внешних компонентов

23.10.25

Разработка - Инструментарий разработчика

Данное решение наглядно показывает, как можно преобразовывать PDF файлы в массив PNG картинок, переворачивать их, масштабировать и сохранять в файлы без внешних компонентов на 1С.

Файлы

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

Наименование Скачано Купить файл
Работа с PDF файлами в 1С без внешних компонент
.epf 424,85Kb ver:1
11 2 450 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Привет, коллеги!

По воле случая, столкнулся я с задачей преобразования PDF файла в картинку средствами 1C, внешние компоненты использовать было запрещено, ввиду политики безопасности компании.

Проблему удалось победить, через JavaScript и использование невидимого ПоляHTMLДокумента.

Делюсь с вами этим решением. Думаю, кому-то может быть полезным.

 

 

Можно задавать масштаб рендеринга, переворачивать страницы, сохранять отдельные страницы в PNG картинки, либо все страницы целиком.

 

 

Вся обработка выполняется на стороне клиента, т.к. на сервере ПолеHTMLДокумента недоступно)

Можете использовать в своих проектах, все исходники открытые)

Записал небольшую видео-демонстрацию:

 

Проверено на следующих конфигурациях и релизах:

  • Управление торговлей, редакция 11, релизы 11.5.24.62

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    225930    1228    415    

1071

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

14400 руб.

20.08.2024    48092    269    138    

243

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

9900 руб.

25.08.2025    22294    57    9    

60

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Библиотека стандартных подсистем Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    29247    77    30    

104

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

16000 руб.

10.11.2023    20675    84    42    

95

Инструментарий разработчика Программист 1С v8.3 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9500 руб.

17.05.2024    41290    151    57    

190

Инструментарий разработчика Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

6000 руб.

07.02.2018    109513    250    100    

315
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. akR00b 25 24.10.25 08:18 Сейчас в теме
приоткрыли бы завесу тайны, немного кода хотя бы)))
2. XilDen 746 24.10.25 08:40 Сейчас в теме
(1) Ну если опускаться в детали, то мы получаем двоичные данные PDF файла, преобразуем их в Base64 представление и генерируем HTML страницу с JavaScript, куда этот Base64 помещаем. Полученный HTML файл подгружаем в Поле HTML документа. Скрипт отрабатывает, помещая двоичные данные PNG картинок каждой страницы PDF в специальные теги HTML документа, в том же Base64 представлении. В завершении работы скрипт делает программный клик по специальному тегу, чем инициирует срабатывание в 1С события "ПриНажатии" у Поля HTML документа. В обработчике этого события мы и вытаскиваем Base64 данные всех картинок из специальных тегов HTML документа, куда их поместил код на JS. Затем из Base64 преобразовываем их обратно в ДвоичныеДанные, и вот у нас уже массив картинок в PNG.
Переворот картинок похожим образом происходит. Плюс всё создание реквизита и элемента ПолеHTMLДокумента происходит программно, плюс используются лайфхаки, как сделать так, чтобы его не было видно и при этом оно отрабатывало (ведь если тупо отключить видимость элемента, он перестанет работать).
Конечно есть очень много деталей и нюансов, чтобы это всё работало, и работало стабильно) На создание этого решения ушло больше 2 недель, так что бесплатно код выставлять не буду, уж извините) Скачивайте и сами всё увидите) Цена в 2 чашки кофе для тех, кому данный функционал реально нужен - сущая формальность)
Oksana_Makr; Dach; ubnkfl; Prometeus2011; baracuda; fatman78; Spurk; BurlakovIvan; kirillobskih; +9 Ответить
3. kirillobskih 46 24.10.25 09:51 Сейчас в теме
(2) Однозначно плюс! Работа проделана большая
4. ubnkfl 27.10.25 14:53 Сейчас в теме
(2)
Цена в 2 чашки кофе

Для меня цена 2450 рублей. Что за чашки кофе вы пьете.
6. RustIG 1931 27.10.25 15:20 Сейчас в теме
(4) 3см = 2 чашки кофе по внутреннему курсу ИС для разработчиков - если у вас есть доступ к бирже стартмани ИС
7. ubnkfl 27.10.25 15:41 Сейчас в теме
(6) то есть фантики ИС покупателям продают в 10 раз дороже, чем получает автор разработки?
9. RustIG 1931 27.10.25 15:55 Сейчас в теме
(7) без комментариев - не хочу в это углубляться.
может вам ответят другие.
чао-какао! :)
5. RustIG 1931 27.10.25 15:18 Сейчас в теме
версия платформы какая?
для линукс не подходит?
ява-скрипт какая версия?
(2)
так что бесплатно код выставлять не буду
откуда у вас такая инфа, что здесь бесплатно выставляют? кто такую инфу распространяет? это не так
11. XilDen 746 28.10.25 06:35 Сейчас в теме
(5) Тестировал на 8.3.27, но работать должно на всех версиях, начиная с 8.3.14, когда ПолеHTMLДокумента начало работать на WebKit. На Линуксе теоретически должно работать тоже, но не проверял. Если проверите, отпишитесь, полезная информация будет.
8. Viktor_Ermakov 393 27.10.25 15:49 Сейчас в теме
Спасибо за работу.
Скажите Вы использовали какую ни будь библиотеку js?
Если да, то она хранится локально в обработке или обращается онлайн?
Можете поделиться лайфхаком про видимость?
12. XilDen 746 28.10.25 06:47 Сейчас в теме
(8)
Скажите Вы использовали какую ни будь библиотеку js?

Для получения PNG из PDF используется PDF.js.
Хранится локально в обработке, доступ в интернет не нужен.
Можете поделиться лайфхаком про видимость?

Напишу наверное про это отдельную статью) Но если вкратце, то нужно создать группу с типом "Страницы", внутри неё 2 группы с типом "Страница". В первую страницу помещаем пустую картинку, ширина = 1, высота = 1, во вторую страницу помещаем наше ПолеHTMLДокумента, без заголовка, также ширина = 1, высота = 1. Отключаем отображение вкладок. И получается, что нам показывается страница с пустой картинкой, в то время как ПолеHTMLДокумента находится на второй странице, по сути невидимое, но формально у него Видимость = Истина, поэтому оно работает)
14. XilDen 746 28.10.25 10:19 Сейчас в теме
(8) Написал отдельную публикацию про лайфхак с видимостью: https://infostart.ru/1c/articles/2514689/
10. Vasvas05 27 27.10.25 16:15 Сейчас в теме
внешние компоненты использовать было запрещено, но то, что в самой 1с защиты они мы умолчим)))) Странные такие политики безопосности от ИБ - работа ради работы
да и и спользование js может быть также не безопасно

работа хорошая, в документооборот 3.0 что то похожее делали для вывода
13. XilDen 746 28.10.25 06:54 Сейчас в теме
(10) В моей обработке зашит только код на js (открытый). Под внешними компонентами я всё таки понимаю некие скомпилированные exe/dll, которые запускаются из 1С. В моём решении этого нет. Для данного решения даже не пришлось запрашивать согласования, а запрос на запуск стороннего exe утонул бы в бюрократическом аду.
Для отправки сообщения требуется регистрация/авторизация