1с сохранить табличный документ как картинку
Разбираюсь с Йокселем. Отличная программа! Но не всё понятно.
Необходимо сохранить табличный документ в графический файл формата JPEG.
Каким образом управлять качеством и размером сохраняемого JPEG-файла?
Платформа 1С 8.3.5.
ТабличныйДокумент = СформироватьТабличныйДокумент();
ТабличныйДокумент.Записать(ИмяВременногоФайла, ТипФайлаТабличногоДокумента.XLS);
Йоксель = Новый COMОбъект("Йоксель");
ЙДокумент = Йоксель.СоздатьТабличныйДокумент();
ЙДокумент.Открыть(ИмяВременногоФайла, 2);
ЙКонвертер = Йоксель.СоздатьГрафическийКонвертер();
ЙКонвертер.УстановитьДокумент(ЙДокумент);
ЙКонвертер.Записать(ИмяГрафическогоФайла, "JPG");
Код работает, но JPG-файл создаётся с разрешением 96dpi и размером, допустим, 100х141 пиксель. Нужно лучше качество или больше размер по ширине и высоте.
Настройки разрешения не нашёл.
Попытался увеличить размер страницы в конвертере:
Эффекта нет. Высота и ширина графического файла не меняется.
Попытки изменить масштаб в табличном документе 1С или ЙДокумент-те также ни к чему не приводят.
Пробовал преобразовывать Йоксель-Документ в Йоксель-картинку и менять у неё размер - также не работает:
Йоксель = Новый COMОбъект("Йоксель");
ЙДокумент = Йоксель.СоздатьТабличныйДокумент();
ЙДокумент.Открыть(ИмяВременногоФайла, 2);
ЙКонвертер = Йоксель.СоздатьГрафическийКонвертер();
ЙКонвертер.УстановитьДокумент(ЙДокумент);
ЙКартинка = ЙКонвертер.ПолучитьИзображение();
ЙКартинка.ИзменитьРазмер(10000, 14100); // Не работает!
ЙКартинка.Записать(ИмяГрафическогоФайла, 1);
Что я делаю не так.
Размер документа в пикселах - всегда столько, сколько будет при отрисовке этого документа на экране. Разрешение тоже как при отрисовке на экране.
Размеры страницы в объекте "ГрафическийКонвертер" - это как будет документ разбиваться на страницы при сохранении отдельной страницы в отдельный графический файл, а не параметры документа.
Изменения размера картинки - это просто растягивание или сжатие уже существующей картинки.
Качество сохранения в JPG - какое-то значение по умолчанию в используемой библиотеке для работы с JPEG. Точные параметры я не знаю, надо смотреть. Если надо управлять качеством, то это надо доделывать. Вообще, лучше сохранять в PNG. Это самый лучший вариант сохранять табличные документы при сохранении в виде растров.
Talkman --> TalkmanTalkman @ Сегодня, 10:32 ,
При добавлении картинки форматы разные BMP,DIB,RLE,JPG,ICO,JPE,TIF,WMF,EMF
denis84 @ Сегодня, 11:07 ,
У меня в 1С:7.7 ПУБ (тоже переписанном) картинки на печати чернобелые
Через сохранить как. И в будущем работники так же сохранять будут. denis84 --> denis84
А при сохранении листов в книге эксель много? Может на листе,есть ещё какие-то графические объекты? volodya1122 --> volodya1122
Немного поэксперементировал и пришел к выводу (неуверен что верный)
1С сохраняет в 95 Ексель, поэтому фиолетово какой формат картинки. Он ее всеравно преобразовывает в bmp формат. Отсюда и увеличение размера файла.
Из этого вывод:
1. Вручну открывать каждый такой сохраненный Екселевский файл и пересорранять его в 2003, 2007 или новее форматы Екселя.
2. Попробовать програмно сохранять в Ексель через Йоксель. (не пробовал, может размер файла будет меньше).
3. Обезательно нужно сохранять в ексель? Может лучше сохранять в pdf ?. (Используя печать через ПДФ принтер, или програмно через тот же Йоксель)- размер файла точно будет намного меньше.
В этой статье научимся добавлять в табличный документ картинки. Вы узнаете, как вставить конкретную картинку в табличный документ, а также как подгрузить картинку из общих картинок конфигурации и из хранилища значений.
Вставить картинку в табличный документ 1С
Откроется окно «Выбор картинки».
В этом окне есть несколько вариантов выбора. В закладке «Из библиотеки» мы можем выбрать или общую картинку конфигурации, или стандартную картинку платформы 1С.
На закладке «Из файла» мы можем загрузить нужную картинку из файловой системы.
Вставим картинку из файла. Для этого на закладке «Из файла» следует нажать на кнопку «Выбрать файл».
Найти нужный файл в открывшемся окне «Выбор картинки».
После выбора рисунка, вы можете сделать белый цвет прозрачным. Для этого следует нажать на кнопку «Установить прозрачный цвет», после этого ваш курсор станет «карандашом», и этим курсором необходимо кликнуть по белому цвету картинки.
В результате, белый цвет уйдет.
После нажатия на кнопку «Ок» окна «Выбор картинки», картинка отобразится в табличном документе.
Заметьте, что вокруг вставленной картинки имеется рамка. Для того, чтобы убрать эту рамку, откроем палитру свойств картинки.
И в свойстве Линия установим значение «Нет линии».
В результате, рамки во круг картинки не станет.
Добавим макету область, создадим форму, команду формы, в которой будем выводить табличный документ на просмотр.
И посмотрим, как выведется наш табличный документ с картинкой.
Вывести картинку в табличный документ 1С
Приведенный выше способ отображение картинок статичен: мы вручную при создании макета выбираем ту или иную картинку, которая будет всегда в этом макете отображаться. Но, очень часто возникают ситуации, когда нужно картинку подгружать или из библиотеки картинок, или из хранилища значений.
В этой статье Вы узнаете, как загружать и хранить картинки в хранилище значений:
В учебной конфигурации у справочника Контрагенты был создан реквизит Логотип, тип которого Хранилище значения.
В этом реквизите хранятся картинки.
Теперь, сделаем табличный документ, на котором будет выводиться информация об контрагенте, а также картинка, которая привязана к этому контрагенту.
Есть несколько способов вывода картинки на табличный документ, разберем один из них.
Создадим макет табличного документа, в котором создадим область и зададим несколько параметров, в которые будем выводить информацию о контрагенте.
Будет добавлена пуста картинка (скорее всего, она будет маленького размера).
Откроем палитру свойств этой картинки, изменим имя, уберем рамку и установим авторазмер картинки.
Всё! Макет готов, теперь создадим на управляемой форме реквизит Контрагент, поле ввода контрагента, а также команду для вывода табличного документа.
Создадим обработчик команды и функцию, в которой будем выводить в табличный документ данные контрагента.
Мы получили данные контрагента через запрос. Обращаю ваше внимание на поле «Контрагенты.Логотип КАК Логотип», так мы получаем хранилище значения. Пока все вывели табличный документ без рисунка. Реализуем возможность вывода рисунка. Для этого, вставим после вывода параметров области (ИНН,КПП, название) следующий код.
В этом коде, из хранилища значений, которое в поле Логотип выборки, получим двоичный файл (//1). Потом создадим объект Картинка конструктором на основе двоичных данных (//2), вторым параметром Истина мы установили прозрачность картинки. И присвоим свойству Картинка рисунку области табличного документа, который мы добавили пустым, созданную картинку (//3).
Если мы сейчас попробуем показать этот табличный документ, то на нем отобразится картинка.
Рассмотрим ещё, как программным способом вывести общую картинку. Например, в моей конфигурации имеется общая картинка под названием «Общий логотип».
Выведем эту картинку в уже созданный ранее табличный документ.
Для этого, также как и в первый раз, добавим на табличный документ пустую картинку, которую назовем ОбщийЛоготип, и у которой уберем обводку.
Нам осталось вывести эту картинку при формировании табличного документа. Делается это гораздо проще, чем с картинкой из хранилища значений: просто присваиваем свойству Картинка, вновь добавленному рисунку табличного документа, общую картинку из библиотеки картинок.
После этого, общая картинка будет выведена в табличный документ.
Другие статьи про табличные документы в 1С:
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
Обработки сделаны на основе типовых обработок, можно взять как пример использования виртуального принтера PDF Creator для сохранения в различные форматы, в том числе и JPG.
PDF Creator должен быть установлен
Специальные предложения
Просмотры 9657
Загрузки 10
Рейтинг 2
Создание 23.05.14 14:10
Обновление 23.05.14 14:10
№ Публикации 283666
Кому Для всех
Операционная система Windows
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)
Код открыт Не указано
См. также
Конвертация любых адресов, написанных в свободной форме, к ФИАС Промо
Допустим у нас есть база с адресами клиентов, и написаны они могут быть как душе угодно. С опечатками, без индексов, без разделителей, в совершенно любом формате. Вот было бы здорово иметь функцию, которая одним нажатием кнопки преобразует любую белиберду к строгому представлению адреса по ФИАС? Восстановит индекс, исправит опечатки и вернёт на 100% валидный адрес. Для всех, кто мечтательно сказал "ДА!", выкладываю данную обработку.
2 стартмани
30.06.2020 7695 68 XilDen 15
Управление платформенными обработками (расширение для типовых)
Расширение использует недокументированную возможность для управления платформенными обработками. Например, чтобы подменить "Активные пользователи" или доработать "Конструктор запросов".
1 стартмани
07.10.2021 3385 5 SeiOkami 23
Работа с картами в 1С на примере бесплатной библиотеки Leaflet
Разработка функционала отображения и выбора пунктов доставки на карте прямо в 1С с помощью бесплатной библиотеки Leaflet. Тестирование производилось на платформе 8.3.15.1534 на тонком клиенте.
1 стартмани
31.03.2021 10499 31 Parsec1C 11
Универсальная обработка переноса данных из основной конфигурации в расширение
Обработка предназначена для разработчиков, для тех случаев, когда ранее дописанный функционал, перенесен в расширение и появляется необходимость перенести данные из объектов основной конфигурации в объекты расширения. Перенос осуществляется настройкой соответствия объектов основной конфигурации объектам расширения.
5 стартмани
05.10.2020 10426 65 biz-intel 71
Удаление и/или копирование сохраненных в 1С настроек (например настроек печати табличных форм) Промо
Иногда нужно удалить сохраненную в 1С "покореженную" настройку или скопировать "удачную" другому пользователю.
1 стартмани
01.09.2012 66889 1378 AnryMc 46
Улучшенная обработка универсального обмена данными в формате XML (УФ)
Улучшенная обработка "Универсальный обмен данными" с полноценными возможностями СКД для выборки данных (не только для отборов).
1 стартмани
23.06.2020 12978 136 Lem0n 1
Панель команд текущего объекта (документа, справочника и т.д.) со следующим возможностями: Редактор реквизитов, таблиц и движений текущего объекта, Анализ прав доступа к текущему объекту, Поиск ссылок на объект с отборами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Реализована всплывающей панелью в форме объекта. Подключается как расширение конфигурации (*.cfe) либо отдельными обработками.
1 стартмани
01.05.2020 15307 112 sapervodichka 1
Работа с файлами (обычная и управляемая форма)
Нужно загрузить файл с клиента на сервер или же, наоборот, файл загрузить с сервера на клиент, а впридачу все это на web-клиенте, да еще и асинхронно? Нет ничего проще, читай далее, как это сделать!
1 стартмани
10.06.2019 41653 222 Xershi 77
Групповая корректировка записей регистров (Управляемое приложение) v 2.1 Промо
Обработка предназначена для групповой корректировки записей регистров Накопления, Сведений и Бухгалтерии. Разработана специально для Управляемого приложения.
3 стартмани
06.09.2013 68810 321 kser87 59
Электронная таблица средствами 1С (Версия 2.0)
Функционал электронной таблицы для программ на платформе 1С реализован на основе табличных документов. Функционал реализован в виде обработки. Большую часть формы обработки занимают листы (закладки) с табличными документами, которые выполняет роль электронной таблицы. Листы могут быть добавлены, удалены или переименованы. Ограничение по количеству листов определяется возможностью платформы. В формулах электронной таблицы можно использовать любые языковые конструкции, процедуры и функции 1С, ссылки на другие ячейки электронной таблицы расположенные в том числе и на других листах. Допустимо обращаться к ячейкам электронной таблицы по имени именованной области. В случае использования в формулах электронной таблицы данных из самой таблицы пересчет зависимых ячеек с формулами производится автоматически. Электронную таблицу можно сохранить в файл.
1 стартмани
23.04.2019 23818 78 user706545_kseg1971 40
Удобная консоль регламентных и фоновых заданий
1 стартмани
06.02.2019 22211 211 Alxby 20
Редактор объектов информационной базы 8.3 Промо
Универсальная внешняя обработка для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов. Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML. Платформа 8.3, управляемые формы. Версия 1.1.0.57 от 09.10.2021
2 стартмани
23.01.2019 43329 486 ROL32 50
Сравнение pdf-файлов актов сверки
Обработка сравнивает два pdf-файла, в которых находятся стандартные печатные формы актов сверки, и показывает на экране совпадающие и/или отличающиеся по суммам документы взаиморасчетов.
Читайте также: