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

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

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

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: [Решено]Правка pdf в Draw  (Прочитано 554 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Bigor
Опытный пользователь
***
Offline Offline

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


« Стартовое сообщение: 9 Январь 2018, 09:42 »

Всех с наступившим!

Помогите пожалуйста. Есть 2 pdf файла pril1 и pril2, нужно из pril1 дату и номер скопировать
в pril2. Проблема что таких пар файлов больше сотни и хотелось бы это все сделать макросом.
Видится вариант через Draw, но как-то не пойму как в нем искать что копировать и куда копировать.

* pril1.pdf (9.72 Кб - загружено 7 раз.)
* pril2.pdf (4.14 Кб - загружено 8 раз.)
« Последнее редактирование: 12 Январь 2018, 10:10 от Bigor » Записан
rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #1: 9 Январь 2018, 10:30 »

Видится вариант через Draw, но как-то не пойму как в нем искать что копировать и куда копировать.
В документе есть рисованные страницы, а в каждой странице могут быть объекты. В pril1.pdf есть две линии и пять врезок, врезки 6 и 5 — это соответственно дата и номер. Попробуйте начать с примера:
Код:
Sub Main
Dim oDrawPage, oDate$, oNum$
oDrawPage=ThisComponent.DrawPages(0)

oDate=oDrawPage.getByIndex(6).String
Print oDate

oNum=oDrawPage.getByIndex(5).String
Print oNum

End Sub
Записан

Bigor
Опытный пользователь
***
Offline Offline

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


« Ответ #2: 9 Январь 2018, 15:12 »

Спасибо. Получилось
Записан
Bigor
Опытный пользователь
***
Offline Offline

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


« Ответ #3: 11 Январь 2018, 16:09 »

В Libre все работает, но захотелось макрос переделать через vbs, и тут проблема выскочила в сохранении в PDF.

Код:

aURL = Document2.getLocation()
 aURL = replace(aURL,"pril2","pril2_1",1)
  Param1 = Array(_
                       MkPropVal( "FilterName", "draw_pdf_Export" ),_
                       MkPropVal( "FilterData",  oExpFilterOptions )_
            )
 Document2.storeToURL aURL, Param1

Function MkPropVal(cName,uValue)
       Dim oPropertyValue
      set MkPropVal =  ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
      set oPropertyValue = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
       
               oPropertyValue.Name = cName           
               oPropertyValue.Value = uValue
       
       MkPropVal = oPropertyValue
End Function


Ругается на эту строку  MkPropVal = oPropertyValue - объект не поддерживает это свойство или метод.

Чего-то я ступил и в сложности полез, все оказывается намного проще
Код:
aURL = replace(aURL,"pril2","pril2_1",1)
  Param1(0).Name =  "FilterName"
  Param1(0).Value = "draw_pdf_Export"
                       
 Document2.storeToURL aURL, Param1
только кавычки "draw_pdf_Export" обязательны, без них не работает.

« Последнее редактирование: 12 Январь 2018, 10:07 от Bigor » Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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