Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
19 мар 2024, 09:02

Конвертация Exsel

Автор Feliks1961, 16 дек 2015, 15:53

0 Пользователей и 1 гость просматривают эту тему.

Feliks1961

Конфигурация
1С:Комплексная автоматизация
//Есть файл екселя. На нем пользователь размещает картинки, схемы, надписи и т.д. в произвольном порядке как ему захочется. Как это все убожество перевести в картинку.
Как конвертировать в PDF знаю.

НовыйПринтер = "Bullzip PDF Printer (Ne05:)";
   
   ИмяФайла = "D:\A\List_1";
   
   xlsФайл = ИмяФайла+".xls";
   JPGФайл = ИмяФайла+".PDF";
   
   Эксель = Новый COMОбъект("Excel.Application");
   Эксель.DisplayAlerts = False;
   Книга = Эксель.WorkBooks.Open(xlsФайл);
   Книга = Эксель.ActiveWorkbook;
   Лист = Книга.WorkSheets(1);
   Лист.PageSetup.Zoom = False;
   Лист.PageSetup.FitToPagesWide = 1; // По ширине листа
   Лист.PageSetup.FitToPagesTall = False;
   Лист.PageSetup.Orientation = 1; // xlPortrait
   
   Эксель.Visible = True;
   
   СтарыйПринтер = Эксель.ActivePrinter;
   Сообщить("Старый - " + Эксель.ActivePrinter);
   
   Эксель.ActivePrinter = НовыйПринтер;
   
   Сообщить("Новый - " + Эксель.ActivePrinter);
   
   Попытка
      ПДФПринтер = Новый ComObject("Bullzip.PDFPrinterSettings");
      ПДФПринтер.SetValue("output", JPGФайл);
      ПДФПринтер.SetValue("ShowSaveAS", "never");
      ПДФПринтер.SetValue("ShowProgress", "no");
      ПДФПринтер.SetValue("ShowProgressFinished", "no");
      ПДФПринтер.SetValue("ShowSettings", "never");
      ПДФПринтер.SetValue("ShowPDF", "no");
      ПДФПринтер.SetValue("ConfirmOverwrite","no");
      ПДФПринтер.WriteSettings();
      Эксель.ActivePrinter = НовыйПринтер;
      Эксель.Worksheets.PrintOut();

   Исключение
      
      Сообщить(ОписаниеОшибки());
      Сообщить("Скорее всего необходимо установить или переустановить ""Bullzip PDF Printer");
   КонецПопытки;
   
   
   Эксель.ActivePrinter =  СтарыйПринтер;
   Сообщить("Новый -Старый -  " + Эксель.ActivePrinter);
   
   Эксель.Quit();

Но как только ставлю JPGФайл = ИмяФайла+".JPG"; При открытии файла пишет "Файл поврежден или большого размера". Как это побороть?

Feliks1961

Решил но не совсем корректно.

Эксель.Worksheets.PrintOut(1,1,2,True);
Эксель.Worksheets.PrintOut();

При настройке Bullzip в качестве файлы указал JPG в качестве временной папки "C:\TEMP\". Единственное интересно, что к имени файла принтер добавляет "1". То есть искать файл надо "C:\TEMP\List_11.JPG".

Ulugbek Kirgizbaew

Привет всем. Помогите начинающим, у меня тоже проблема с печатью.
   Попытка
      ОбъектВорд = Новый COMОбъект("Word.Application");
   Исключение
      Сообщить("Ошибка при запуске Microsoft Word: " + ОписаниеОшибки(), СтатусСообщения.Внимание);
      //Возврат Неопределено;
   КонецПопытки;                                                  
   
   
    ОбъектВорд.Documents.Open("D:\1.doc");
   ШаблонВорд = ОбъектВорд.ActiveDocument;

   ШаблонВорд.Application.PrintOut(0,0,0,"","","",0,1,"2");
   //ШаблонВорд.Application.PrintOut(0,0,0,"","","",0,1,Нужное страница пример "2,8-10");
   ОбъектВорд.Application.Quit();

Код все нормально работает и даже печатает, но все страницы сразу печатается, а  мне нужно конкретное страница 

Теги:
Рейтинг@Mail.ru

Поиск