Установка печати в книга-альбом

Автор konstan_tin, 2 марта 2015, 14:00

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

konstan_tin

Добрый день . Сталкивался ли кто с проблемой вывода на печать , когда надо вывести лист или в режиме книга , или в режиме альбом.
Нашел процедуру перевода , немного ее изменил , но суть не поменялась
Столкнулся с проблемой:
1. в альбом переводится нормально и все печатается как надо , а вот обратно (PORTRAIT) принтер переводитися (галочка в настройках), а опен офис продолжает выводить на печать в формате альбома . Т.е. не хочет обновлять что-то там у себя . Может есть какая процедура обновить параметры вывода на печать ? Заранее спасибо за любой отклик .

процедура ----------------------------------------------------------------------------------

Public sub setalbom (orient as integer) 'процедура переводит печать 0-книжную 1 альбомную
dim oOpt () as new com.sun.star.beans.PropertyValue
dim props  'св-ва принтера


props=ThisComponent.getPrinter() 'там 7 строк где описано название, ориентация, формат .......

oOpt=props

oOpt(0).Value="<" & props(0).value & ">" 'для сетевых принтеров

if orient=0 then
   oOpt(1).Value=com.sun.star.view.PaperOrientation.PORTRAIT
  else
   oOpt(1).Value=com.sun.star.view.PaperOrientation.LANDSCAPE
end if
ThisComponent.Printer = oOpt()
end sub

konstan_tin

#1
В опен оффисе есть предварительный просмотр страницы . Там кладка формат страницы . Далее вкладка страница .
Может кто знает как переключить программно в настройках листа формат книжная-альбомная ? Так как от нее все зависит.
Хотя есть правее - взять параметры из настроек принтера , но видимо там что-то не работает .

зы
Сейчас проверил это в микрософт exel . Там при изменении настроек принтера сразу изменяется вид выводимого документа на вкладке предварительного просмотра . Вроде по логике так и должно быть . В ооо  при изменении настроек принтера с листом предварительного просмотра ничего не происходит . Протестировал 2 версии 2.3  и 3.3

kompilainenn

Цитата: konstan_tin от  3 марта 2015, 10:08Протестировал 2 версии 2.3  и 3.3
актуальные версии попробовать - это вариант?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Aleksandr H.

Сделал кнопку на панели инструментов на которую повешал процедуру. После запуска выдает запрос хочу ли установить альбомную ориентацию, если да, то go ahead если нет - устанавливаем книжную
Sub ChangePageStyle
' змінити вихідний формат аркуша
Dim oPrintOptions (0) as new com.sun.star.beans.PropertyValue
oPrintOptions(0).name = "PaperOrientation"
if msgbox("Встановити АЛЬБОМНУ орієнтацію аркуша?", 4 , "Орієнтування аркуша") = 6    then
              oPrintOptions(0).value = com.sun.star.view.PaperOrientation.LANDSCAPE ' альбомна орієнтація листа.
 else
                oPrintOptions(0).value = com.sun.star.view.PaperOrientation.PORTRAIT '  PORTRAIT - книжна
 end if
ThisComponent.setPrinter(oPrintOptions())
End Sub