Параметры печати из консоли

Автор alex208210, 28 апреля 2011, 14:07

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

alex208210

Возможно ли из консоли указать команду печатать например вторую страницу?
libreoffice -p /file.doc печатает весь файл, а необходимо печатать одну страницу по номеру

smaharbA

#1
soffice "-accept=socket,host=0,port=2002;urp;" -writer

либо печатайте в постскрипт и далее потоком фильтруйте джихостом

делаешь скрипт типа, и передаешь ему параметрами ./ooo.sh file.doc [Номер страницы]
можно вообще обуниверсалить, будет работать и в виндузе и в линуксе, один и тот же скрипт (пайтон если чо установлен уже в ООо, можно в среде виндовса просто ком без пайтона)
ну и при старте свободный сокет проверять

#!/bin/sh

port=

x=""
soffice "-accept=socket,host=localhost,port=2002;urp;" $1 &
[ -n "$2" ] && x=$2
sleep 5

(
cat > /dev/stdout << EOF
#!/usr/bin/python
# coding: utf-8
import uno
local = uno.getComponentContext()
res = local.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", local)
ctx = res.resolve("uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext")
sm=ctx.ServiceManager
desktop = sm.createInstanceWithContext("com.sun.star.frame.Desktop", ctx)
a = []
doc = desktop.getCurrentComponent()
p = uno.createUnoStruct("com.sun.star.beans.PropertyValue")
a.append(p)
a.append(p)
a[0].Name = "Pages"
a[0].Value = "$x"
a[1].Name = "Wait"
a[1].Value = True
uno.invoke(doc,"print", (tuple(a),))
EOF
) | python -
Я конечно далек от мысли... (с)