Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

25 Май 2019, 13:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2   Вниз
  Печать  
Автор Тема: Помогите дописать макрос экспорта всех страниц LibreOffice в PNG  (Прочитано 1176 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 589


« Ответ #15: 12 Апрель 2019, 10:17 »

Вот что получилось у меня:
Код:
Sub DrawtoPNG

Dim Param1(3) as new com.sun.star.beans.PropertyValue

Param1(0).Name =  "FilterName"
Param1(0).Value = "draw_jpg_Export"
Param1(1).Name  = "PixelWidth"        '
Param1(1).Value = 2000
'Param1(2).Name  = "PixelHeight"
'Param1(2).Value = 2000
'Param1(3).Name  ="Compression"
'Param1(3).Value = 0
'Param1(4).Name  ="Interlaced"
'Param1(4).Value = 0

Param1(2).Name  ="Quality"
Param1(2).Value = 85 'Quality: 1-100, 100 is best quality / lowest compression
Param1(3).Name  ="ColorMode"
Param1(3).Value = 0' Color; 1 - Grayscale
 
oDoc=ThisComponent

for p=0 to  ThisComponent.getDrawPages().getCount()-1
aURL = "file:///c:/test/Dr2PNG_" & p &".jpg"
ThisComponent.storetourl(aUrl,Param1())
next

End Sub

но jpg как и ожидалось с разрешением 96 dpi и настройки компрессии / качества у меня не работают
Записан
kompilainenn
Мастер
*****
Offline Offline

Сообщений: 2 662



« Ответ #16: 12 Апрель 2019, 10:41 »

но jpg как и ожидалось с разрешением 96 dpi и настройки компрессии / качества у меня не работают
Эта цифра захардкожена к сожалению
Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
PyGreen
Участник
**
Offline Offline

Сообщений: 8


« Ответ #17: 14 Апрель 2019, 18:08 »

по какой-то причине разрешение файлов задаётся не из скрипта а по дефолту.. я пробовал ранее вариант с такой инструкцией
Код:
args1(2).Value = Array(Array("PixelWidth",0,1800,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PixelHeight",0,2544,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PageRange",0,"1",com.sun.star.beans.PropertyState.DIRECT_VALUE))

и эта инструкция работала (меняла разрешение в пикселях)

как его адаптировать в решение, которое предложил Bigor чуть выше: здесь
« Последнее редактирование: 14 Апрель 2019, 18:10 от PyGreen » Записан
kompilainenn
Мастер
*****
Offline Offline

Сообщений: 2 662



« Ответ #18: 14 Апрель 2019, 18:10 »

по какой-то причине разрешение файлов задаётся не из скрипта а по дефолту
оно захардкожено просто в исходном коде и есть бага на эту тему
Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
mikekaganski
Мастер
*****
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 1 382


« Ответ #19: 14 Апрель 2019, 18:17 »

... шёл шестой год, как из-за напряжённой работы над конвертацией с помощью ЛО совсем не было пяти минут сделать правильными инструментами Подмигивающий
Записан

С уважением,
Михаил Каганский
Страниц: « 1 2   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!