Простое решение для сжатия и обработки PDF для 1С Poppler + itextSharp

07.10.25

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

Работа с PDF-файлами из 1С Простое решение для сжатия и обработки PDF. В статье приведено стандартное решение через Poppler, дополненное возможностью работать с русскоязычными папками, а также дополнение к пакету - простая консольная утилита для сжатия PDF.

Файлы

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

Наименование Скачано Купить файл
Простое решение для сжатия и обработки PDF для 1С Poppler + itextSharp - пример обработки
.epf 15,36Kb
0 1 850 руб. Купить
PDFResizer Консольное приложение для сжатия PDF
.zip 5,22Mb
0 1 850 руб. Купить

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

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

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

Работа с PDF-файлами из 1С

Простое решение для сжатия и обработки PDF

 

Введение

При разработке решений на платформе 1С часто возникает необходимость работы с PDF-документами. Типичные задачи включают:

  • Объединение нескольких файлов
  • Извлечение и анализ текстового содержимого
  • Сжатие PDF-файлов

При этом важно, чтобы решение было максимально простым в использовании и легко переносилось между различными рабочими машинами, особенно в проектах, где нет возможности администрировать серверы.


Выбор инструмента: Poppler

В качестве основного инструмента была выбрана библиотека Poppler — бесплатное решение с открытым исходным кодом для рендеринга PDF-документов. Poppler предоставляет набор утилит командной строки, которые позволяют:

  • Извлекать текст из PDF
  • Объединять несколько файлов
  • Выполнять другие операции с документами

 

Интеграция с 1С

В интернете можно найти различные примеры интеграции Poppler с 1С. За основу была взята одна из готовых оберток, которая упрощает работу с утилитами командной строки.

 

Проблема с кириллицей

Однако в существующих решениях была обнаружена критическая проблема: утилиты командной строки Poppler не корректно обрабатывают русский язык в путях и именах файлов.

 

Решение проблемы

Для обеспечения стабильной работы в русскоязычной среде (например, с профилем пользователя "Администратор") было добавлено решение через установку текущей рабочей директории:

Если ЗначениеЗаполнено(CurrentDirectory) Тогда
    Shell.CurrentDirectory = CurrentDirectory;
КонецЕсли;

Этот подход полностью решает проблемы с кириллицей в путях.


Сжатие PDF-файлов

 

Актуальность задачи

Сжатие PDF особенно важно при работе со сканированными документами:

  • Экономия дискового пространства
  • Ускорение отправки файлов по электронной почте
  • Оптимизация хранения документов

 

Поиск решения

Стандартные рекомендации обычно предлагают установку GhostScript, однако этот вариант не подходил из-за сложности развертывания.

После анализа различных решений на разных языках программирования (многие из которых работали нестабильно), был найден проект 4dotsFreePDFCompress на GitHub, который реализует качественное сжатие PDF.
* В коде используется устаревшая библиотека ItextSharp вместо itext. Это не упущение, перевод его на iText снизил качество работы резайзера.

Важно понять - это сжатие за счет сжатия изображений. Идет потеря качества.  Но для большинства задач это - самый разумный вариант.

 

Адаптация решения

Проект был адаптирован следующим образом:

  1. Код был переписан в виде консольного приложения
  2. Приложение опубликовано на GitHub: https://github.com/spbdvm
  3. На основе примеров создана внешняя обработка для 1С

 

Рекомендации по внедрению

Представленная обработка предназначена для демонстрации процесса. В реальных проектах рекомендуется размещать код из модуля обработки в Общем Модуле для лучшей интеграции с конфигурацией.


Заключение

Данное решение обеспечивает:

  • Простую интеграцию с 1С
  • Корректную работу с русскими путями и именами файлов
  • Эффективное сжатие PDF-документов
  • Легкое развертывание без администрирования серверов
  • Открытый исходный код и бесплатное использование

 

Установка

скачиваем и устанавливаем Poppler на сервере, прописываем путь к C:\poppler\bin в PATH 
https://github.com/oschwartz10612/poppler-windows/releases/  

скачиваем ConsolePDFResizer и копируем эти 5 файлов  к C:\poppler\bin 
(Можно сделать для них отдельный проект и прописать в PATH но я вижу это скорее как дополнение  poppler)

Тестируем обработку.  Переносим код в свою продакшн версию.

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

  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.184.16

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

Компрессия Сжатие pdf

См. также

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

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

15500 руб.

02.09.2020    216941    1188    413    

1053

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

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

14400 руб.

20.08.2024    42894    234    123    

217

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

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

22200 руб.

06.10.2023    27493    71    30    

101

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

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

9500 руб.

17.05.2024    38964    141    57    

178

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

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

16000 руб.

10.11.2023    19446    76    39    

92

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

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

9900 руб.

25.08.2025    8489    14    7    

22

Инструментарий разработчика WEB-интеграция 1С v8.3 1C v8.2 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Инструмент для генерации OpenApi (Swagger) спецификаций на основании файлов конфигураций 1С. Это консольное и десктопное приложение на языке Rust с полноценным редактором кода, содержащим автозамену и подсвечивание ошибок для быстрого и безошибочного написания документирующего комментария.

18000 руб.

22.11.2024    2501    2    0    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SerVer1C 990 07.10.25 13:48 Сейчас в теме
2. dvim 67 07.10.25 17:37 Сейчас в теме
(1) Вполне имеет право на жизнь.
В целом разумны 3 подхода
Командная строка ( самый простой )
OLE
Web Server c cамохостингом.
Мне надо было, чтобы было максимально просто - без регистраций библиотек.
Для отправки сообщения требуется регистрация/авторизация