Как сохранить табличный документ в jpeg ХЕЛП

1. ~ZasrAnka~ 03.08.15 16:59 Сейчас в теме
Добрый день!
Подскажите, пожалуйста, как табдок преобразовать в jpeg? Спасибо большое!
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. cool.vlad4 2 03.08.15 17:02 Сейчас в теме
(1) ~ZasrAnka~,
1. виртуальный принтер.есть бесплатные , типа bullzip
2. преобразовав pdf в jpeg через ВК , например. (либо вызовом уже готовых консольных утилит. есть такие как пример у библиотек mupdf и xpdf)
3. ~ZasrAnka~ 03.08.15 17:03 Сейчас в теме
4. cool.vlad4 2 03.08.15 17:05 Сейчас в теме
(3) ~ZasrAnka~, внешняя компонента. можно через вызов консольной утилиты mudraw это самое простое. см http://mupdf.com/downloads/ (mupdf-1.7a-windows.zip скачать и посмотреть mudraw) . минус , зато не будет работать на сервере и всяикх клиентах, где запрещен или не работает запуск консольных утилит
5. Boneman 301 03.08.15 17:06 Сейчас в теме
(1) ~ZasrAnka~, через внешнюю компоненту,
курить публикацию
http://infostart.ru/public/146275/

насколько я понимаю, там используется древняя компонента ексель, которая позволяет конвертировать в графические форматы,
помню я ее юзал еще на 7.7,
на 8.2 не пробовал, но судя по публикации - тоже работает
8. cool.vlad4 2 03.08.15 17:10 Сейчас в теме
(5) Boneman,указаннаяч публикация использует виртуальный принтер. что касается екселя, то он действительно морально устарел (хотя автор на мой взгляд крутой программер, поскольку сделать такой собственный рендеринг на плюсах это мощно). проблема екселя(или 1С) к сожалению это некоторые проблемы с выводом прозрачных изображений на таб документах если такие есть. и потом там неудобно как на мой взгляд, там полностью надо вручную рассчитывать размеры изображения и документа.
10. cool.vlad4 2 03.08.15 17:13 Сейчас в теме
(1) ~ZasrAnka~, можно еще через ghostscript . там уже есть готовый COM объект для программных вызовов.
12. cool.vlad4 2 03.08.15 17:21 Сейчас в теме
(1) ~ZasrAnka~, я даже больше скажу . я сам писал COM библиотеку на C# с вызовом dll , которую написали на основе mupdf . но там были какие-то проблемы и я так не доделал ее. код там простой до безобразия, остался
  
 public void SaveToJpg(string pdf_filename, string filename)
        {
            //Size newSize = new Size(Convert.ToInt32(1754), Convert.ToInt32(1240));
            //Bitmap resized_img = null;
            PDFLibNet.PDFWrapper _pdfDoc;
            _pdfDoc = new PDFLibNet.PDFWrapper();
            _pdfDoc.LoadPDF(pdf_filename);
            _pdfDoc.CurrentPage = 1;
            for (int i = 1; i <= _pdfDoc.PageCount; i++)
            {
                string _imgpath = filename + i.ToString() + ".jpg";
                _pdfDoc.ExportJpg(filename + i.ToString() + ".jpg",
                                  i,        //From page
                                  i,        //To page
                                  300,      //Resolution in DPI
                                  100,       //Jpg quality
                                  -1);      //Time to wait, -1 to infinite.
                //using (Bitmap _img = new Bitmap(_imgpath))
                //{
                //    resized_img = ResizeImage(_img, newSize);
                //}

                //if (resized_img != null)
                //    resized_img.Save(_imgpath, System.Drawing.Imaging.ImageFormat.Jpeg);
            }
            //resized_img.Dispose();
            //resized_img = null;
         }
        
Показать
6. ~ZasrAnka~ 03.08.15 17:08 Сейчас в теме
Спасибо, попробую. Подскажите, еще пожалуйста, если выводим табдок в ексель, в екселе пользователь вносит изменения и закрывает. Как потом программно можно Ексель преобразовать в PDF или JPEG?
7. Boneman 301 03.08.15 17:10 Сейчас в теме
(6) ~ZasrAnka~, эксель, он ведь и сам по себе умеет в pdf формате сохранять книгу.
9. cool.vlad4 2 03.08.15 17:12 Сейчас в теме
(6) ~ZasrAnka~, версии офиса выше 2007 умеют сохранять в pdf. насчет jpg , думаю что не умеют. тут возможно использование либо виртуального принтера, либо упомянутой компоненты yoksel
11. cool.vlad4 2 03.08.15 17:17 Сейчас в теме
ImageMagickObject = Новый COMОбъект("ImageMagickObject.MagickImage.1");

ImageMagickObject.Convert("-density", "300", ИмяФайлаPdf, ИмяФайлаСРасширением);



Там где ИмяФайлаСРасширением, можно указывать строку с использованием управляющих конструкций (каких см на сайте их) для указания например номеров страниц


для работы нужны http://www.imagemagick.org/script/index.php (при установке надо указать, что нужен COM объект) и http://www.ghostscript.com/
torch; mip128; hydro2588_2015; SenFeron; CaSH_2004; +5 Ответить
13. CaSH_2004 373 11.01.20 14:00 Сейчас в теме
(11) Самый простой рабочий вариант который я пока встретил
dst; SenFeron; +2 Ответить
14. user814594 06.03.22 16:01 Сейчас в теме
(11) Там где ИмяФайлаСРасширением, можно указывать строку с использованием управляющих конструкций (каких см на сайте их) для указания например номеров страниц

Можно тут подробнее
15. R_o_n_n_y 68 16.10.24 20:10 Сейчас в теме
Вот кусок рабочего кода, вначале делаю сохранение в pdf
	
    ИмяВременногоФайлаpdf = КаталогВременныхФайлов() + ФайлИмяБезРасш + ".pdf";
	ФормаОтч.ДокументРезультат.Записать(ИмяВременногоФайлаpdf, ТипФайлаТабличногоДокумента.PDF);
	ФормаОтч.Закрыть();                                                                               
	
	ИмяВременногоФайлаJpg = КаталогВременныхФайлов() + ФайлИмяБезРасш + ".jpg";
	СтрокаЗапуска = """C:\Program Files\ImageMagick-7.1.1-Q16-HDRI\convert.exe"" -density 300 -trim "+ИмяВременногоФайлаpdf+" -quality 50 "+" "+ИмяВременногоФайлаJpg;
	ЗапуститьПриложение(СтрокаЗапуска,,Истина,Неопределено);
	ПаузаВСекундах(2); //задержка по времени для конвертации файла внешним приложением иначе ПомещениеФайла дает ошибку
	ИмяВременногоФайла = ИмяВременногоФайлаJpg;
	ФайлРасширение = "jpg";
	
	ДополнительныеПараметрыПомещения = Новый Структура;
	ДополнительныеПараметрыПомещения.Вставить("ФайлИмяБезРасш", ФайлИмяБезРасш);
	ДополнительныеПараметрыПомещения.Вставить("ФайлРасширение", ФайлРасширение);
	ОписаниеОповещения = Новый ОписаниеОповещения(
		"ОбработатьРезультатПомещенияФайла", ЭтотОбъект, ДополнительныеПараметрыПомещения);
	НачатьПомещениеФайла(ОписаниеОповещения, , ИмяВременногоФайла, Ложь);
	
КонецПроцедуры

&НаКлиенте
Процедура ОбработатьРезультатПомещенияФайла(ВыборВыполнен, АдресРезультатВыбора, ВыбранноеИмяФайла, ДополнительныеПараметры = "") Экспорт
		
	Если ВыборВыполнен = Истина Тогда
		
		НовыйФайлКОтправке = ФайлыКОтправке.Добавить();
		НовыйФайлКОтправке.Имя = ДополнительныеПараметры.ФайлИмяБезРасш + "." + ДополнительныеПараметры.ФайлРасширение;
		НовыйФайлКОтправке.Адрес = АдресРезультатВыбора;
		НовыйФайлКОтправке.ИмяБезРасширения = ДополнительныеПараметры.ФайлИмяБезРасш;
		НовыйФайлКОтправке.Расширение = ДополнительныеПараметры.ФайлРасширение;
		НовыйФайлКОтправке.Идентификатор = Строка(Новый УникальныйИдентификатор);
		
	КонецЕсли;
	ОбновитьОтображенияЦитированияПрикрепления();
	
КонецПроцедуры
Показать
Оставьте свое сообщение

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