Каждый системный администратор или специалист 1С рано или поздно сталкивается с загадочным поведением платформы при попытке сохранить печатную форму в PDF. Пользователь нажимает стандартные кнопки, но вместо привычного документа А4 получает файл, который выглядит как хаотичное скопление тонких горизонтальных или вертикальных линий. При детальном анализе свойств такого PDF-файла выясняется, что страница имеет совершенно дикие пропорции — например, 5080х13 мм или около того.
В этой статье мы подробно разберем, почему возникает этот баг, как платформа 1С взаимодействует с подсистемой печати Windows, и по шагам пройдемся по всем способам решения этой проблемы — от простых манипуляций с принтером до тонкой настройки кэша и масштабирования.
Многие ошибочно полагают, что стандартная функция «Файл — Сохранить как... — Документ PDF» работает абсолютно автономно и никак не связана с физическим оборудованием, установленным в офисе. Это не так. Чтобы сформировать PDF-файл, виртуальный конвертер платформы 1С должен предварительно рассчитать разметку, шрифты, границы ячеек, отступы и масштаб табличного документа.
Для выполнения этих расчетов платформа обращается к так называемому контексту устройства (Device Context) принтера, который назначен в операционной системе Windows по умолчанию. Именно от этого принтера 1С получает базовые параметры разрешения (DPI), доступные области печати и стандартные форматы бумаги.
Если принтером по умолчанию в системе назначен:
То платформа пытается «втиснуть» полноценный лист формата А4 в параметры узкой ленты (например, шириной 58 мм или 80 мм). В результате этого математического сжатия весь документ превращается в сверхдлинную узкую полосу, которая при просмотре на экране выглядит как «куча линий».
---
Проанализируем самый быстрый и простой способ диагностики и решения проблемы. В первую очередь нам необходимо проверить, какое устройство выбрано основным в операционной системе у проблемного пользователя.
Выполним следующие действия по шагам:
Microsoft Print to PDF и выберем пункт «Использовать по умолчанию».После этого перезапустим сеанс 1С и проверим сохранение в PDF. В 90% случаев проблема сразу же исчезает.
---
Как показала практика обсуждения на форуме, иногда простая смена устройства по умолчанию не помогает, если в системе «зависли» поврежденные драйверы печати. В этом случае требуется полная переустановка печатной подсистемы для проблемного принтера.
Рассмотрим, как правильно выполнить эту процедуру:
Win + R, ввести printui /s /t2 и нажать Enter).Spooler) или перезагрузим компьютер.---
Даже после исправления настроек принтера в Windows, документ в 1С может продолжать сохраняться некорректно. Причина кроется в механизме кэширования параметров печати. Платформа 1С «запоминает» индивидуальные настройки (ориентацию, поля, масштаб, количество копий) для каждого отчета или документа в разрезе пользователей непосредственно в базе данных (в системном хранилище настроек).
Если в кэш однажды записались некорректные параметры (например, из-за сбоя драйвера масштаб уменьшился до 10% или установился неверный размер бумаги), простая очистка локальной папки кэша на диске AppData не принесет результата.
Разберем по шагам, как принудительно перезаписать эти настройки:
Ctrl + P) и убедимся, что в поле «Количество копий» указано значение 1. Существует известный баг платформы: если там зафиксировано число отличное от 1, механизм конвертации в PDF может двоить или искажать вывод.Microsoft Print to PDF). Это действие принудительно запишет новые корректные параметры печати в базу данных и сотрет сбойные настройки.---
Если в вашей конфигурации используется Библиотека стандартных подсистем (БСП), то сценарий сохранения может отличаться. Пользователи чаще всего используют не классическое меню «Файл — Сохранить как», а нажимают на кнопку с изображением синей дискеты прямо на панели печатной формы.
Проанализируем разницу в поведении системы:
Если на сервере 1С не запущена или зависла служба печати (Print Spooler), отсутствуют установленные принтеры или нет необходимых шрифтов, то серверный PDF-конвертер выдаст пустые листы, черные квадраты или те самые искаженные линии.
Решение для администратора сервера: убедиться, что на сервере приложений 1С запущен диспетчер печати, и установлен хотя бы один стандартный PDF-принтер по умолчанию для учетной записи, под которой запускается служба ragent (обычно это локальная система или специальный доменный пользователь).
---
Еще одна неочевидная причина искажений кроется в настройках экрана современных мониторов (особенно с высоким разрешением UltraHD/4K).
Если у пользователя в параметрах экрана Windows выставлено масштабирование текста в 125% или 150%, платформа 1С может некорректно рассчитывать пиксельные координаты ячеек табличного документа при трансляции в векторный формат PDF. Текст начинает налезать друг на друга, границы колонок съезжают, образуя кашу.
Выясним, как устранить влияние DPI:
Это заставит операционную систему отдавать платформе 1С стандартные координаты без искажений, что нормализует экспорт в PDF.
Также не забывайте о шрифтах. Если при разработке печатной формы программист использовал специфический шрифт (например, редкий декоративный шрифт или код для сканера штрихкодов), а на компьютере пользователя этого шрифта нет, операционная система попытается заменить его стандартным Arial. Из-за разницы в ширине символов верстка таблицы «поплывет», и при сохранении в PDF границы ячеек могут превратиться в хаотичные линии. Решается это простой установкой недостающих шрифтов в папку C:\Windows\Fonts на локальной машине пользователя.