7.7 Печать изображений

Тема в разделе "Общие вопросы "1С:Предприятие 7.7"", создана пользователем ZaharovAleksandr, 11 июл 2013.

  1. TopicStarter Overlay
    ZaharovAleksandr
    Offline

    ZaharovAleksandr

    Регистрация:
    17 авг 2012
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте. Возможно мой вопрос уже проскакивал на Вашем форуме, но я похожего не нашел.
    Для любого контрагента прикрепляется файл со схемой проезда, или же другие файлы(пути к файлам).
    Файлы только с расширением jpg,bmp(картинки), были бы, допустим в "ворде" или "ёкселе" было бы проще.
    К сожалению каждый день необходимо печатать эти картинки, и только без вывода на экран, так как
    их великое множество(жать печать рисунков 50 раз жестоко) и каждый день они разные. Бумаги и тонера не жалко.
    Как мне распечатать документ без вывода на экран( Не ЗапуститьПриложение)?
    Не КомандаСистемы(mspaint /p), так как картинку может распечатать на несколько листах, если она не помещается.
    Поиск по ключам запуска mspaint ничего не дал.
    Может как-то вывести просто в таблице, а потом просто Напечатать(0) без Показать().Но схемы все разные по размеру.
    Или же попробывать какой-нибуть утилитой подогнать все схемы под определенный размер, вследствии чего можно спокойно воспользоватся тойже
    самой mspaint.
    Может даже кто-нибуть работал acdsee через командную строку. Возможно там есть параметры запуска с форматированием изображения и печатью на принтер.
    Я думаю все расписано понятно. Уверен, что кто-нибуть делал что-то подобное.
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    можно....
    1) Создаем внешнюю обработку
    2) В макете добавляем объект типа "картинка"
    3) В расшифровке объекта прописываем
    Рисунок(Таб.ТекущийОбъект,Путь)
    4) В модуле обработки создаем функцию
    Код:
    Функция Рисунок ( Куда,Откуда ) Экспорт
    Куда.Загрузить(Откуда);
    КонецФункции
    
    5) Вызываем
    Код:
    Таб=СоздатьОбъект("Таблица");
    Путь="тут понлый путь к картинке";
    Таб.ВывестиСекцию("Стр");
    Таб.Напечатать();
    
  3. TopicStarter Overlay
    ZaharovAleksandr
    Offline

    ZaharovAleksandr

    Регистрация:
    17 авг 2012
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Спасибо за ответ. Правда не совсем то, ну и ладно, сделал так, посмотрим как будут печататься документы.
    Теперь вопрос второй. гуглил, не нашел обращаюсь к Вам.
    С вордом все получается как Надо!:
    Код:
    Word=СоздатьОбъект("Word.Application");
    Word.Visible=0;
    Word.Documents.Open(Путь); 
    Word.ActiveDocument.PrintOut(1,0,0,"","Canon LBP6650 (526)");
    Word.ActiveDocument.Close();
    Word.Quit();	   
    Работает. Теперь с ёкселем
    Код:
    Excel = СоздатьОбъект("Excel.Application");  
    Excel.Visible=0;
    Excel.WorkBooks.Open(Путь);
    Excel.ActiveWorkBook.PrintOut(1,1,0,"","Canon LBP6650 (526)");
    Excel.ActiveWorkBook.Close();
    Excel.Quit(); 
    Выдает ошибку Microsoft Office Excel: Метод PrintOut из класса Workbook завершен неверно

    И, если возможно, все тоже самое провернуть с pdf
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Вызывать внешнюю программу когда это можно сделать средствами 1с??????? Извините, не есть хорошо.

    Это вам 8ка... Можно только через сторонние тулзы.
  5. TopicStarter Overlay
    ZaharovAleksandr
    Offline

    ZaharovAleksandr

    Регистрация:
    17 авг 2012
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Мы так и не разобрали проблему с печатью xls
    Excel = СоздатьОбъект("Excel.Application");
    Excel.Visible=0;
    Excel.WorkBooks.Open(Путь);
    Excel.ActiveWorkBook.PrintOut(1,1,0,"","Canon LBP6650 (526)");
    Excel.ActiveWorkBook.Close();
    Excel.Quit();

    Выдает ошибку Microsoft Office Excel: Метод PrintOut из класса Workbook завершен неверно
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    А почему собственно количество копий = 0?
  7. TopicStarter Overlay
    ZaharovAleksandr
    Offline

    ZaharovAleksandr

    Регистрация:
    17 авг 2012
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Нашел ошибку. Правильно будет сделать такой код:
    Код:
    Excel = СоздатьОбъект("Excel.Application");  
    Excel.Visible=0;
    Excel.WorkBooks.Open(Путь);
    Файл = Excel.ActiveWorkBook;
    Лист = Файл.Worksheets(1);
    Лист.PrintOut(1,32767,1,,"Canon LBP6650 (526)");
    Файл.Close();
    Excel.Quit(); 
    Лист-то какой должен печататься?
  8. TopicStarter Overlay
    ZaharovAleksandr
    Offline

    ZaharovAleksandr

    Регистрация:
    17 авг 2012
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Есть программка у меня, bullzip pdf printer. Через неё я из 1с при печати на виртуальный принтер этой проги конвертирую счета в pdf.
    Прочитал в описании, что программа реализовывает возможность печати как файла, так и пакет файлов через командную строку, с заданными ключами(параметрами) для запуска
    Например "Принтер, Путь к файлу, и т.д." не могу найти описание ключей(параметров) для запуска, и пример как правильно сделать это в 1с:
    КомандаСистемы("C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe".... а как далее не догоняю. пробывал разные варианты, не получается...
    Или же альтернатива какая-нибуть есть. Заранее спасибо.
  9. TopicStarter Overlay
    ZaharovAleksandr
    Offline

    ZaharovAleksandr

    Регистрация:
    17 авг 2012
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    ошибся. командасистемы("C:\Program Files\Bullzip\PDF Printer\......

Поделиться этой страницей