новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Форум

Обсуждение к заданию: Добавлять штрихкод в колонтитул word

    • #1
    • 05.10.2018 09:38
    0
    Есть конфигурация Документооборот. У внутреннего документа была написана функция добавления штрихкода на первую страницу прикрепленного файла word. Поставлена задача вставить штрихкод в нижний кол...  Подробнее>>
    • #2
    • 05.10.2018 12:00
    0
    Какая версия Word?
    • #3
    • 05.10.2018 13:37
    • Отредактировано: 05.10.2018 13:38:08
    0
    У меня локально 2010, на сервере 2013, но проблемы имеют место быть на обоих машинах. Вот, кстати модуль обработки сейчас:

    Функция ВставитьКартинкуВФайлDocСУказаниемПоложения(Расширение, ДвоичныеДанныеФайла, ДвоичныеДанныеКартинки)
    	
    	СисИнфо = Новый СистемнаяИнформация;
    	Если СисИнфо.ТипПлатформы = ТипПлатформы.Windows_x86 ИЛИ СисИнфо.ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда
    		Попытка
    			WordApp = Новый COMОбъект("Word.Application");
    		Исключение
    			ВызватьИсключение(НСтр("ru = 'Ошибка работы с приложением MS Word. Необходимо проверить правильность установки приложения.'"));
    		КонецПопытки;
    	Иначе
    		ВызватьИсключение(НСтр("ru = 'Вставка штрихкода в файл MS Word возможна только в Windows. Обратитесь к администратору.'"));	
    	КонецЕсли;
    	
    	ИмяВременногоФайлаOffice = ПолучитьИмяВременногоФайла(Расширение);
    	НовыйПутьКФайлу = ПолучитьИмяВременногоФайла(Расширение);
    	ДвоичныеДанныеФайла.Записать(ИмяВременногоФайлаOffice);
    	
    	ИмяВременногоФайлаКартинки = ПолучитьИмяВременногоФайла("JPG");
    	ДвоичныеДанныеКартинки.Записать(ИмяВременногоФайлаКартинки);
    	
    	Док = WordApp.Documents.Add(ИмяВременногоФайлаOffice);
    	
    	Колонтитул = Док.sections.item(1).footers.item(1);
    	
    	Picture = Колонтитул.Range.InlineShapes.AddPicture(ИмяВременногоФайлаКартинки,False,True);
    	
    	Shape = Picture.ConvertToShape();//сконвертировать картинку в фигуру
    	//Shape.WrapFormat.Type = 5;// вывести картинку за текстом     
    	
    	Shape.Left = -999998;// прижать до упора влево
    	Shape.Top  = -999997;// прижать до упора вниз
    	
    	Shape.RelativeVerticalPosition = 1;// относительно чего позиционировать: 1 - относительно страницы
    	Shape.RelativeHorizontalPosition = 1;// относительно чего позиционировать: 1 - относительно страницы	
    	
    	Если Найти(WordApp.Build, "12.") > 0 Тогда
    		Если Расширение = "docx" Тогда
    			Док.SaveAs(НовыйПутьКФайлу, 12);                        
    		Иначе
    			Док.SaveAs(НовыйПутьКФайлу, 0);
    		КонецЕсли;
    	Иначе
    		Док.SaveAs(НовыйПутьКФайлу);
    	КонецЕсли;
    	Док.Saved = Истина;	
    	Док.Close(); 
    	WordApp.Quit();
    	WordApp = Неопределено;
    	
    	УдалитьФайлы(ИмяВременногоФайлаOffice);
    	
    	Возврат НовыйПутьКФайлу;
    	
    КонецФункции


    В конце я так понимаю проверка на версию офиса.
    • #4
    • 05.10.2018 13:56
    +1
    Сейчас один человек уже занимается решением. Если не получится я отпишусь. Ну и если получится тоже.
    • #5
    • 05.10.2018 14:08
    0
    dmitrii.kravcov
    Сейчас один человек уже занимается решением. Если не получится я отпишусь. Ну и если получится тоже.


    Правильный подход! Все бы так, а то жалобы тут читаю )
    • #6
    • 04.10.2023 14:24
    0
    Привет. И в чем была проблема?
Для участия в обсуждении Вам необходимо авторизоваться либо   зарегистрироваться