Печать многостраничных файлов TIF из внешней папки

1. user731506 15.04.17 10:53 Сейчас в теме
Здравствуйте!

Процедура ниже печатает справки прикрепленные к кодам серий номенклатуры из Реализации товаров, но есть и многостраничные файлы, 1с выводит теолько первую страницу таких файлов для печати, как вывести все страницы многостраничных TIF-ов?

Процедура ОсновныеДействияФормыПечать(Кнопка)
   
     Путь = "D:\Сканы TIFF\";
     ТипФайла = ".Tif";
     ТабДок =  Новый ТабличныйДокумент;      
     Для каждого стр из Товары цикл
        Если ЗначениеЗаполнено(стр.СерияНоменклатуры) Тогда
                       
              Макет = ПолучитьМакет("МакетКартинки");
               ОбластьКартинки = Макет.ПолучитьОбласть("ОбластьКартинка");
             Попытка
             Картинка = Новый Картинка(Путь+стр.СерияНоменклатуры.Код+ТипФайла);
               ОбластьКартинки.Рисунки.D1.Картинка = Картинка; 
             ТабДок.Вывести(ОбластьКартинки);    
              Исключение
             Продолжить;
              КонецПопытки;
          КонецЕсли;
      КонецЦикла;
      ТабДок.Показать();
КонецПроцедуры
Показать
+
По теме из базы знаний
Найденные решения
7. v3rter 20.04.17 10:09 Сейчас в теме
Я бы обернул на всякий случай путь дополнительными кавычками, вдруг пробелы:
ЗапуститьПриложение("C:\Program Files\IrfanView\i_view64.exe """+СокрЛП(Путь)+СокрЛП(стр.СерияНоменклатуры.Код)+СокрЛП(ТипФайла)+""" /resample /aspectratio /print", , Истина); 
+
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. пользователь 15.04.17 11:33
Сообщение было скрыто модератором.
...
3. пользователь 17.04.17 09:57
Сообщение было скрыто модератором.
...
4. v3rter 17.04.17 13:02 Сейчас в теме
На мисте http://www.forum.mista.ru/topic.php?id=303085 есть аналогичная тема, где советуют использовать Microsoft Office Document Imaging
    МодиДок=СоздатьОбъект("MODI.Document");
    МодиДок.Create(Путь+Имя);
    Сообщить(МодиДок.images.count);
    Для к=1 По МодиДок.images.count Цикл

Доступ к изображению, думаю, будет таким:
МодиДок.images.Item(к) 

Возможно прокатит
ОбластьКартинки.Рисунки.D1.Картинка = МодиДок.images.Item(к); 

Есть проблема, что с офиса 2010 и старше MODI больше недоступен, но можно скачать и установить бесплатный SharePoint Designer 2007, где он есть в комплекте или выборочно установить только Document Imaging из пакета Ofiice 2007 https://support.microsoft.com/ru-ru/help/982760/install-modi-for-use-with-microsoft-office-2010

Объектная модель MODI https://msdn.microsoft.com/en-us/library/office/aa167607(v=office.11).aspx (warning: инглиш)
+
5. v3rter 18.04.17 09:34 Сейчас в теме
Альтернативный подход - использовать для печати какой-нибудь бесплатный графический редактор/просмотрщик/конвертер, например
xnview.exe sample.tif /print
у которого, если что, есть консольный конвертер xnconvert, которым можно разобрать tiff на части во временную папку и напечатать.

Еще способ - печать через стандартное средство просмотра изображений http://www.sql.ru/forum/1092563/mozhno-li-kak-to-ponyat-chto-vozvrashhaet-api-zapushhennaya-cherez-rundll32-exe , но в этом варианте не получается отслеживать ошибки.
+
6. user731506 19.04.17 16:49 Сейчас в теме
Пришлось только такой вариант использовать


ЗапуститьПриложение("C:\Program Files\IrfanView\i_view64.exe "+СокрЛП(Путь+стр.СерияНоменклатуры.Код+ТипФайла)+"/resample /aspectratio /print", , Истина);
+
7. v3rter 20.04.17 10:09 Сейчас в теме
Я бы обернул на всякий случай путь дополнительными кавычками, вдруг пробелы:
ЗапуститьПриложение("C:\Program Files\IrfanView\i_view64.exe """+СокрЛП(Путь)+СокрЛП(стр.СерияНоменклатуры.Код)+СокрЛП(ТипФайла)+""" /resample /aspectratio /print", , Истина); 
+
Внимание! Тема сдана в архив

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