Как загрузить картинки jpg из папки и вывести их на печать

1. ded20ded 10.12.15 09:11 Сейчас в теме
Добрый день, поделитесь примером пожалуйста.
Как загрузить картинки jpg из папки и вывести их на печать, каждую картинку на отдельный лист
спасибо
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Boneman 298 10.12.15 10:59 Сейчас в теме
(1) ded20ded, цельный пример, будете долго ждать.
Разбейте задачу на более мелкие функции, и гуглите информацию по ним.
1. Формирование печатной формы.
1.1. Необходимо сделать макет, с картинкой.
1.2. Добится в цикле, чтобы этот макет, через горизонтальный разделитель страниц выводился один за другим, в табличный документ.
1.3. Научится, программно вставлять в макет картинку из файла.
1.4. Научится работать с файлами, выбрать папку, и сделать перебор файлов в ней.
2. Решить вашу задачу, объединив это все
Пользователь, выбирает папку, потом идет перебор файлов, и в цикле выводит в макет.
После чего, уже выводим на печать
PhoenixAOD; config; +2 Ответить
2. config 191 10.12.15 10:54 Сейчас в теме
У нас так реализовано.
Кнопка на форме документа "ЗагрузитьФайл", "ОткрытьФайл" и строковый реквизит РеквизитНаФормеСтрока
Картинки хранятся не в программе. Дальше что надо не совсем понятно

Процедура ЗагрузитьФайлНажатие(Элемент)
	
	ДиалогВФ = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
	ДиалогВФ.Фильтр = "Картинки (*.jpg, *.jpeg, *.bmp, *.png)|*.jpg; *.jpeg; *.bmp; *.png|Все фалы (*.*)|*.*";
	
	Если ДиалогВФ.Выбрать() Тогда
		
                РеквизитНаФормеСтрока = ДиалогВФ.ПолноеИмяФайла;
	
	КонецЕсли; 
	
КонецПроцедуры
Показать


Процедура ФайлОткрытьНажатие(Элемент)

	Картинка = РеквизитНаФормеСтрока;

        Попытка
		ЗапуститьПриложение("explorer " + Картинка);
		
	Исключение
	КонецПопытки;
	
		
КонецПроцедуры
Показать
4. ded20ded 24.12.15 10:30 Сейчас в теме
Добрый день сделал печать, но картинки какие-то сплюснутые получаются, как побороть кто подскажет?
	Путь = "D:\!!!\JPG\";
	Маска ="*.jpeg";
	
	НайденныеКаталоги = НайтиФайлы(Путь, Маска);
	МассивРезультатов = Новый Массив;
	Для каждого НайденныйФайл Из НайденныеКаталоги Цикл
		//Если НайденныйФайл.ЭтоКаталог() Тогда
		//	МассивРезультатов.Добавить(НайтиФайлыВИерархии(НайденныйФайл.ПолноеИмя, Маска));
		//КонецЕсли; 
	КонецЦикла;
	МассивРезультатов.Добавить(НайтиФайлы(Путь, Маска));
	Результат = Новый Массив;
	Для Каждого ЭлементРезультат Из МассивРезультатов Цикл
		Для Каждого Файл Из ЭлементРезультат Цикл
			Результат.Добавить(Файл);
			Сообщить("файл "+Файл.Имя);
			
		ТабДок = Новый ТабличныйДокумент;
        Макет = ПолучитьМакет("Макет");
        Область = Макет.ПолучитьОбласть("ОбластьКартинки"); 
        Рисунок = Область.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка); 
        
        Рисунок.Верх = 0; 
        Рисунок.Высота = 290; 
        Рисунок.Ширина = 210;         
        Рисунок.Лево = 0; 
        
        
        Рисунок.Картинка = Новый Картинка(Файл.ПолноеИмя);
        
        ТабДок.АвтоМасштаб = Истина;
        ТабДок.ОтображатьСетку = Ложь;
    
        ТабДок.Вывести(Область);
        ТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);
			
		КонецЦикла; 
	КонецЦикла;
Показать
5. AleksR 102 25.12.15 00:59 Сейчас в теме
(4) Попробуйте добавить строку:
Рисунок.РазмерКартинки = РазмерКартинки.Пропорционально;
6. ded20ded 25.12.15 08:22 Сейчас в теме
7. a_a_burlakov 287 25.12.15 08:29 Сейчас в теме
(4) ded20ded, с установленной высотой 290 и шириной 210 они и должны быть сплюснутые ведь с боков?
8. ded20ded 25.12.15 12:16 Сейчас в теме
тогда какие правильные размеры:?
9. config 191 28.12.15 09:34 Сейчас в теме
(8) ded20ded, как минимум 290 на 290 попробуйте) Картинки все разного размера?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот