Подскажите оффлайн конвертер(автоматический) для преобразования документов в pdf-a, пользуем foldermill, но там водяной знак лепит
Конвертер в PDF-A
#1 Оффлайн
Опубликовано 13.07.2018 - 15:39
#2 Оффлайн
Опубликовано 13.07.2018 - 15:49
libreoffice
#3 Оффлайн
Опубликовано 13.07.2018 - 15:56
libreoffice
автоматом умеет?
#4 Оффлайн
Опубликовано 13.07.2018 - 15:57
Миша, что значит "автоматом", расшифруйавтоматом умеет?
у него есть апи, который можно использовать и для автоматов.
#5 Оффлайн
Опубликовано 13.07.2018 - 16:01
автоматом это взял из каталога 1 документ(tiff docx xlsx и др) и положил в каталог 2 документ pdf-a без участия пользователя)
#6 Оффлайн
Опубликовано 13.07.2018 - 16:03
incron+beanshell+unoapiавтоматом это взял из каталога 1 документ(tiff docx xlsx и др) и положил в каталог 2 документ pdf-a без участия пользователя)
#7 Оффлайн
Опубликовано 13.07.2018 - 16:17
буквы вроде знакомые все...
#8 Оффлайн
Опубликовано 13.07.2018 - 16:20
думаю в понедельник как выздоровлю - набросаю скриптик.буквы вроде знакомые все...
Изменено: olegus, 13.07.2018 - 16:22
#9 Оффлайн
Опубликовано 13.07.2018 - 16:34
будет круто
спасибо)
#10 Оффлайн
#11 Оффлайн
Опубликовано 14.07.2018 - 15:44
incron:
/var/shares/topdf IN_CREATE /srv/topdf/f2prun.sh $@ $#f2prun.sh
#!/bin/bash export LD_LIBRARY_PATH=/usr/lib/libreoffice/program/libjpipe.so export OFFICE_HOME=/usr/lib/libreoffice/program export LOJARSDIR=/usr/lib/libreoffice/program/classes export LOKP=$LD_LIBRARY_PATH:$LOJARSDIR/juh.jar:$LOJARSDIR/jurt.jar:$LOJARSDIR/ridl.jar:$LOJARSDIR/unoil.jar:$OFFICE_HOME:. bsh -classpath "$LOKP" ./file2pdf.bsh $1 $2 "$2.pdf"file2pdf.bsh
#!/usr/bin/bsh //debug(); addClassPath("/usr/lib/libreoffice/program/classes/java_uno.jar"); addClassPath("/usr/lib/libreoffice/program/classes/juh.jar"); addClassPath("/usr/lib/libreoffice/program/classes/jurt.jar"); addClassPath("/usr/lib/libreoffice/program/classes/ridl.jar"); addClassPath("/usr/lib/libreoffice/program/classes/unoil.jar"); addClassPath("/usr/lib/libreoffice/program/classes/unoloader.jar"); import java.util.Date; import java.io.File; import java.lang.RuntimeException; import com.sun.star.beans.PropertyValue; import com.sun.star.comp.helper.Bootstrap; import com.sun.star.frame.XComponentLoader; import com.sun.star.frame.XDesktop; import com.sun.star.frame.XStorable; import com.sun.star.lang.XComponent; import com.sun.star.lang.XMultiComponentFactory; import com.sun.star.text.XTextDocument; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XComponentContext; import com.sun.star.util.XReplaceDescriptor; import com.sun.star.util.XReplaceable; try{ //Initialise XComponentContext xContext = Bootstrap.bootstrap(); XMultiComponentFactory xMCF = xContext.getServiceManager(); Object oDesktop = xMCF.createInstanceWithContext("com.sun.star.frame.Desktop", xContext); XDesktop xDesktop = (XDesktop) UnoRuntime.queryInterface(XDesktop.class, oDesktop); //Load the Document System.out.println( "P1 : " + bsh.args[0] ); System.out.println( "P2 : " + bsh.args[1] ); System.out.println( "P3 : " + bsh.args[2] ); String workingDir = bsh.args[0];//"~/work/"; String inFileName = bsh.args[1];//"000.jpg"; String outFileName = bsh.args[2];//"mart.pdf"; XComponentLoader xCompLoader = (XComponentLoader) UnoRuntime.queryInterface(com.sun.star.frame.XComponentLoader.class, xDesktop); String sUrl = "file:///" + workingDir + inFileName; PropertyValue[] propertyValues = new PropertyValue[0]; propertyValues = new PropertyValue[1]; propertyValues[0] = new PropertyValue(); propertyValues[0].Name = "Hidden"; propertyValues[0].Value = new Boolean(true); XComponent xComp = xCompLoader.loadComponentFromURL(sUrl, "_blank", 0, propertyValues); //save as a PDF XStorable xStorable = (XStorable) UnoRuntime.queryInterface(XStorable.class, xComp); propertyValues = new PropertyValue[3]; propertyValues[0] = new PropertyValue(); propertyValues[0].Name = "Overwrite"; propertyValues[0].Value = new Boolean(true); propertyValues[1] = new PropertyValue(); propertyValues[1].Name = "FilterName"; propertyValues[1].Value = "writer_pdf_Export"; PropertyValue[] filterValues = new PropertyValue[1]; filterValues[0] = new PropertyValue(); filterValues[0].Name = "SelectPdfVersion"; filterValues[0].Value = 1; propertyValues[2] = new PropertyValue(); propertyValues[2].Name = "FilterData"; propertyValues[2].Value = filterValues; // Appending the favoured extension to the origin document name String myResult = workingDir + outFileName; xStorable.storeToURL("file:///" + myResult, propertyValues); System.out.println("Saved " + myResult); //shutdown xDesktop.terminate(); }catch (Exception e) { e.printStackTrace(); }зависимости:
incron, bsh, libreoffice, libreoffice-java-common, openjdk-jre-7 или старше
incron наблюдает за каталогом /var/shares/topdf, как файл создан - запускается скрипт. pdf кладется туда же.
все параметры создаваемого pdf
https://wiki.openoff...ials/PDF_export
Изменено: olegus, 14.07.2018 - 16:03
#12 Оффлайн
Опубликовано 14.07.2018 - 23:09
тс запарится крон и баш с винду лепить
#13 Оффлайн
Опубликовано 15.07.2018 - 10:58
тс запарится крон и баш с винду лепить
ну пусть заменит на что там есть.
а bsh кросплатформенный. говорят и баш завезли не так давно.
Изменено: olegus, 15.07.2018 - 10:59
#14 Оффлайн
Опубликовано 16.07.2018 - 13:14
Спасибо!
тс запарится крон и баш с винду лепить
ну пусть заменит на что там есть.
а bsh кросплатформенный. говорят и баш завезли не так давно.
линуксы есть
#15 Оффлайн
Опубликовано 16.07.2018 - 13:15
тем боелее. пути проверить, мб поправить и в путьлинуксы есть
Изменено: olegus, 16.07.2018 - 13:15
#16 Оффлайн
Опубликовано 2.08.2018 - 12:31
тем боелее. пути проверить, мб поправить и в путь
бида бида
#17 Оффлайн
Опубликовано 2.08.2018 - 12:32
выход за границы массива пропертей. ты правил их?бида бида
#18 Оффлайн
Опубликовано 2.08.2018 - 12:58
неа, ток каталоги
#19 Оффлайн
Опубликовано 2.08.2018 - 13:21
еще bsh.args массив. там все в порядке при вызове?неа, ток каталоги
точно
root@user-MS-7817:/srv/topdf# ./f2prun.sh
P1 : .pdf
а где p2 и p3?
Изменено: olegus, 2.08.2018 - 13:22
#20 Оффлайн
Опубликовано 2.08.2018 - 13:31
до них не доходит, висит на exception
#21 Оффлайн
Опубликовано 2.08.2018 - 13:32
потому что их нет.до них не доходит, висит на exception
#22 Оффлайн
Опубликовано 2.08.2018 - 13:46
круто) как чинить?)))
#23 Оффлайн
Опубликовано 2.08.2018 - 13:50
передать их при вызовекруто) как чинить?)))
f2prun.sh ~/work/ file.odt
первый параметр - рабочий каталог, второй - имя файла
#24 Оффлайн
Опубликовано 2.08.2018 - 14:29
передать их при вызове
f2prun.sh ~/work/ file.odt
первый параметр - рабочий каталог, второй - имя файла
заработало при явном указании имени файла
есть вариант чтобы работало по маске?
#25 Оффлайн
Опубликовано 2.08.2018 - 14:30
дописывать или скрипт или пускач.есть вариант чтобы работало по маске?
в скрипте итератоп по маске, в пускаче find с итератором
чтото типа
find $1 -type f -name $2 -exec bsh -classpath "$LOKP" ./file2pdf.bsh $1 {} "{}.pdf" \;
Изменено: olegus, 2.08.2018 - 14:36
0 пользователей читают эту тему
0 пользователей, 0 гостей, 0 невидимых