Задание размера печатной области в N строк

Автор siti, 24 мая 2022, 12:52

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

siti

Есть лист книги Calc, с которого выделение сохраняется в PDF.
Как можно в макросе указать что на 1 лист pdf должно быть размещено N строк?

Код сохранения в PDF

Dim param1(1) As new com.sun.star.beans.PropertyValue
Dim Args1(0) As new com.sun.star.beans.PropertyValue

oSheet = oDoc2.Sheets.getByName("Presentation")
oCellRange = oSheet.getCellRangeByPosition(0,0,6,RowCount1(oDoc1,1))

Args1(0).Name = "Selection"
Args1(0).Value = oCellRange
path= oDoc2.getURL()
path=left(path,len(path)-3)+"pdf"

Param1(0).Name =  "FilterName"
Param1(0).Value = "calc_pdf_Export"
Param1(1).Name = "FilterData"
Param1(1).Value = Args1()
                     
oDoc2.storeToURL (path, Param1())
msgbox "Сохранен файл: " + filename +CHR(10) + "Так же сохранена PDF презентация для клиента!"

bigor

Вы же целиком документ экспортируете в пдф. Вижу 2 варианта:
1. задать область печати нужного диапазона и распечатать его на пдф принтер
2. удалить из документа все кроме нужного диапазона и экспортировать его в пдф
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

siti

Цитата: Bigor от 24 мая 2022, 12:58
Вы же целиком документ экспортируете в пдф. Вижу 2 варианта:
1. задать область печати нужного диапазона и распечатать его на пдф принтер
2. удалить из документа все кроме нужного диапазона и экспортировать его в пдф

Вроде как я выделение экспортирую.
Так как область не влазит на один лист pdf она разбивается, но там есть большие фото, которые режутся на части. Чтобы не подгонять размеры фото и ширину строк под печатную область одного листа ищу вариант указания фиксированного значения строк в печатной области.

siti

В итоге нужное кол-во строк на листе регулирую высотой строки повторяющегося заголовка, подобранной экспериментально.

Кстати выяснил, что  getTransferable переносит форматы, но не копирует высоту строк из шаблона. Пришлось в макросе задавать высоту строк, отличных от "по умолчанию" после копирования шаблона.