11 июн. 2018 г.

Конвертировать PDF в Image в 1С

Для того, чтобы преобразовать pdf файл, который возвращает веб сервис, в файл изображения и последующее вставки в табличный документ нужно для начала установить программу, так называемую ImageMagick с установленной галкой 


а так же Ghostscript.

Так автор программы назвал ImageMagick и далее по тексту автор назвал.

Далее строка переобразование имеет вид 

ЗапуститьПриложение("C:\Program Files\ImageMagick-7.0.7-Q16\convert.exe "+ПутьКФайлуНаДискеПДФ+" " + ПутьКФайлуНаДискеИзображение);

Есть еще момент, перед вставкой в табличный документ 1с нужно сделать паузу 

ЗадержкаВСекундах = 2; Shell = Новый COMОбъект("WScript.Shell"); Shell.Run("ping 127.0.0.1 -n "+ЗадержкаВСекундах+"",0,1); Макет = ПолучитьОбщийМакет("нп_Этикетка_7х5_10х5");

для того, что бы 1с смогла успешно успеть отобразить в табличном документе полученое после переобразования изображение.

&НаКлиенте Процедура ПриОткрытии(Отказ) //пдф ПутьКФайлуНаДискеПДФ = ЗагрузитьПоУРЛ_ТТН(АдресСтраницы); Если ЗначениеЗаполнено(ПутьКФайлуНаДискеПДФ) Тогда //изображение ПутьКФайлуНаДискеИзображение = ПереобразоватьПДФ_в_Изображение(ПутьКФайлуНаДискеПДФ); ЗаполнитьТабличныйДокумент(ПутьКФайлуНаДискеИзображение); //очистка УдалитьФайлы(ПутьКФайлуНаДискеПДФ); Если ЗначениеЗаполнено(ПутьКФайлуНаДискеИзображение) Тогда УдалитьФайлы(ПутьКФайлуНаДискеИзображение); КонецЕсли; КонецЕсли; КонецПроцедуры &НаСервере Функция ПереобразоватьПДФ_в_Изображение(ПутьКФайлуНаДискеПДФ) Попытка Гсч = Новый ГенераторСлучайныхЧисел(); ПутьКФайлуНаДискеИзображение = КаталогВременныхФайлов() +Строка(Формат(Гсч.СлучайноеЧисло(),"ЧГ=0" ))+".JPG"; ЗапуститьПриложение("C:\Program Files\ImageMagick-7.0.7-Q16\convert.exe "+ПутьКФайлуНаДискеПДФ+" " + ПутьКФайлуНаДискеИзображение); Возврат ПутьКФайлуНаДискеИзображение; Исключение УдалитьФайлы(ПутьКФайлуНаДискеИзображение); Сообщить(ОписаниеОшибки()); Возврат ""; КонецПопытки; КонецФункции &НаСервере Функция ЗагрузитьПоУРЛ_ТТН(УРЛ_ТТН) Попытка Гсч = Новый ГенераторСлучайныхЧисел(); ПутьКФайлуНаДиске = КаталогВременныхФайлов() +Строка(Формат(Гсч.СлучайноеЧисло(),"ЧГ=0" ))+".pdf"; КопироватьФайл(УРЛ_ТТН, ПутьКФайлуНаДиске); Возврат ПутьКФайлуНаДиске; Исключение УдалитьФайлы(ПутьКФайлуНаДиске); Сообщить(ОписаниеОшибки()); Возврат ""; КонецПопытки; КонецФункции &НаСервере Процедура ЗаполнитьТабличныйДокумент(ПутьКФайлуНаДиске) ТабДок = ТТН; ТабДок.Очистить(); ЗадержкаВСекундах = 2; Shell = Новый COMОбъект("WScript.Shell"); Shell.Run("ping 127.0.0.1 -n "+ЗадержкаВСекундах+"",0,1); Макет = ПолучитьОбщийМакет("нп_Этикетка_7х5_10х5"); ОбластьРисунок = Макет.ПолучитьОбласть("Рисунок"); Картинка = Новый Картинка(ПутьКФайлуНаДиске); ОбластьРисунок.Рисунки.D1.Картинка = Картинка; ТабДок.Вывести(ОбластьРисунок); КонецПроцедуры

Комментариев нет:

Отправить комментарий

 

CopyPaste Copyright © 2017 - |- Шаблон создан O Pregador - |- Отредактирован myr4ik07