Получение PDF на сервере под linux'ом и windows'ом

28.10.11

База данных - Инструменты администратора БД

До сих пор мне не удавалось сконвертить табличный документ в PDF под linux'ом. В версии 8.2.13 появилась возможность использовать команду ЗапуститьПриложение на сервере 1С. Жить стало легче. Python OpenDocument Converter позволяет преобразовывать с помощью OpenOffice документы xls в разные форматы.
Данная обработка демонстрирует лишь одну возможность, но благодаря Python-UNO bridge можно, например, организовать web сервис для работы с xls документами.

Скачать файлы

Наименование Файл Версия Размер
converter2pdf.rar
.rar 32,64Kb
21
.rar 32,64Kb 21 Скачать

Демонстрационная обработка по конвертации табличного документа в PDF

Краткий алгоритм работы:

Табличный документ созраняется во временный xls файл.
Опен офис открывает этот файл и сохраняет в виде PDF.
1С возвращает полученный PDF пользователю.

Конвертация выполняется на сервере 1С с помощью OpenOffice. Для конывертации табличного документа достаточно передать ТабличныйДокумент функции ПреобразоватьТабличныйДокументВPDF. Функция вернёт ссылку во временном хранилище, по которой можно получить PDF файл. Данная обработка работает на всех клиентах и серверах и под виндовсом и под линуксом.

Windows
При работе под виндовсом используется COM соединение с OpenOffice.
Если опен офис установлен и не работает, значит он открывает мастер регистрации и ждёт что пользователь понажимает кнопки. Для того чтобы победить это нужно 1С запускать с системной учётной записью,  в свойствах процесса поставить галку "Разрешить взаимодействие с рабочим столом", один раз исполнить этот код и прощёлкать диалог опена офиса. Кривое решение, но как решить прямо не знаю.

 

Linux
При работе под линуксом используется Python OpenDocument Converter. При этом на сервере дожен быть установлен Опен офис и Питон. Опен офис работает в качестве сервера, слушает порт 8100.

Назначение файлов
start_soffice_server.sh - скрипт запуска OpenOffice в режиме сервера
DocumentConverter.py - собственно преобразователь (конвертор), который передаёт Опену офису имена входного и выходного файлов
convetr2pdf.sh - скрипт запуска преобразователя (конвертора).

Для настройки под линуксом необходимо
1. В скрипте start_soffice_server.sh прописать путь к папке установки Опена офиса.
2. Скрипт start_soffice_server.sh поставить в автозагрузку ОС для того чтобы сервер Опена офиса запускался сразу.
3. В скрипте convetr2pdf.sh прописать путь к опену офису, питону и скрипту DocumentConverter.py
4. В модуле обработки поправить путь к скрипту convetr2pdf.sh. По умолчанию путь /home/usr1cv82/converter2pdf

Политолог Сергей Кургинян – о варианте интеграции.

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

12000 руб.

06.12.2023    2980    13    1    

34

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3545    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177760    1073    0    

849

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27383    79    146    

59

Система хранения присоединенных файлов в томах на диске

Инструменты администратора БД Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61320    88    59    

73

"Менеджер потоков 2.1": УПП: "Восстановление партий"

Инструменты администратора БД Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Платные (руб)

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11746    5    9    

7

Брандмауэр для сервера 1С Предприятие 8 - внешнее управление сеансами

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Управление возможностью начала и возобновления сеансов пользователей по различным условиям, ограничение общего числа возможных сеансов для работы с информационной базой, резервирование возможности работы с информационной базой определенных польззователей, запрет запуска нескольких сеансов для пользователя, журнализация событий начала (возобновления) и завершения (гибернации) сеансов, ведение списка активных сеансов для информационных баз кластера серверов

3600 руб.

06.02.2017    31111    31    18    

47

Хранилище файлов на SQL

Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Управленческий учет Платные (руб)

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    10986    5    8    

9
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Арчибальд 2706 28.10.11 17:04 Сейчас в теме
Ощутил прелести премодерации?
Ссылка хороша...
2. Трактор 1246 28.10.11 23:27 Сейчас в теме
(1) Ощутил :-)
Я так понимаю что это Alraune быстро отработала. Буквально в 15 минут. Однако на это публикацию я ушатал почти весь день. При том что все скрипты рабочие и отлажены.
3. пользователь 28.10.11 23:55
Сообщение было скрыто модератором.
...
34. Трактор 1246 13.01.12 23:11 Сейчас в теме
(1) (3) А вот теперь ощутил по полной. Halaha спамит меня, а я отписаться не могу. Раньше мог.
35. Alraune 1502 13.01.12 23:24 Сейчас в теме
(34) Это другое. Комментарии закрыты были сразу, вместе с их автором, поэтому по ним не ответить ничего. Могу открыть, но оно Вам надо?
36. Трактор 1246 13.01.12 23:26 Сейчас в теме
(35) Благодарю за оперативность.
4. CaSH_2004 372 29.10.11 13:33 Сейчас в теме
Сам не пользуюсь Линуксом, но ведь ОпенОфис на нем работает. Уточните, получается при этом не работает конфертация в PDF?
5. Трактор 1246 29.10.11 14:40 Сейчас в теме
(4) CaSH_2004, опен офис работает, только вызвать его из 1С до недавнего времени было непросто. Нужна была внешняя компонента. Эта публикация показывает как без внешних компонент обратиться к опену офису.

В принципе можно обойтись без Питона. Написать скрипт на языке опена офиса и вызывать его из 1С. Но Питон даёт гораздо больше возможностей. Он позволяет использовать другим приложениям сервер опена офиса. Можешь сказать серверу "открой этот файл", "дай содержимое этой ячейки", "сюда впиши то-то", "сохрани в другом формате".

Меня расстраивала ограниченность вебклиента. Разобрать экселёвый файл на нём невозможно. На сервере под линуксом тоже ничего не получалось сделать. Puno brige даёт возможность импортировать экселёвские файлы.
Хорошая тема новой разработки "Универасльный разбор экселёвых файлов на виндовом и линуксовом сервере". Может быть выполнена как обработка с набором методов, не зависящих от ОС и офисного пакета и позволяющих читать и писАть экселёвые и опен офисные файлы.
6. Ish_2 1104 29.10.11 15:11 Сейчас в теме
Я в PDF и прочих линуксах ничего не понимаю.
Кургиняна по ссылке не читал. Но осуждаю.
И тебя : ссылка здесь ни к селу , ни к городу.
И Кургиняна : популярен и неглубок.
7. yandextesting 148 13.12.11 00:14 Сейчас в теме
http://downloads.v8.1c.ru/content/Platform/8_2_15_273/V8Update.htm

...
Версия 8.2.15
...
Новые возможности и изменения
...
Реализована возможность сохранения табличного документа в файл формата PDF.
...
Изменения, влияющие на поведение системы

...
Реализована возможность выполнять печать табличных документов в веб-клиенте с помощью документов формата PDF. Реализована настройка "Способ печати" в диалоге настройки параметров веб-клиента.

Кстати, там еще и толстого клиента в файловом режиме работы в Linux добавили.
9. Alav 13 13.12.11 04:25 Сейчас в теме
(7) Что-то дистрибутив не наблюдаю
10. Трактор 1246 13.12.11 10:05 Сейчас в теме
(7)
yandextesting пишет:
Версия 8.2.15
Кстати, там еще и толстого клиента в файловом режиме работы в Linux добавили.

И это радует :-)

Python-UNO bridge может быть полезен не только для получения PDF, а, ещё, например, для разбора МСофисных или Опен офисных документов.

(9) Версия 8.2.15 ознакомительная, вышла 9 декабря. http://users.v8.1c.ru/version.jsp?id=Platform82&ver=8.2.15.273
11. Alav 13 13.12.11 10:23 Сейчас в теме
(10) Это я в курсе, речь именно

yandextesting пишет:
Кстати, там еще и толстого клиента в файловом режиме работы в Linux добавили


А вот дистрибутив толстого клиента где лежит?
12. Трактор 1246 13.12.11 10:27 Сейчас в теме
(11) в 8 написано что "лишнее, удалить бы"
8. yandextesting 148 13.12.11 00:19 Сейчас в теме
там еще и толстого клиента в файловом режиме работы в Linux добавили
13. АлексейН 2 21.12.11 09:04 Сейчас в теме
yandextesting пишет:
Версия 8.2.15
...
Новые возможности и изменения
...
Реализована возможность сохранения табличного документа в файл формата PDF.

А это очень интересно, не надо лишних заморочек, будем ждать официального релиза.
14. пользователь 13.01.12 23:00
Сообщение было скрыто модератором.
...
15. пользователь 13.01.12 23:00
Сообщение было скрыто модератором.
...
16. пользователь 13.01.12 23:00
Сообщение было скрыто модератором.
...
17. пользователь 13.01.12 23:01
Сообщение было скрыто модератором.
...
18. пользователь 13.01.12 23:01
Сообщение было скрыто модератором.
...
19. пользователь 13.01.12 23:02
Сообщение было скрыто модератором.
...
20. пользователь 13.01.12 23:02
Сообщение было скрыто модератором.
...
21. пользователь 13.01.12 23:02
Сообщение было скрыто модератором.
...
22. пользователь 13.01.12 23:02
Сообщение было скрыто модератором.
...
23. пользователь 13.01.12 23:03
Сообщение было скрыто модератором.
...
24. пользователь 13.01.12 23:06
Сообщение было скрыто модератором.
...
25. пользователь 13.01.12 23:06
Сообщение было скрыто модератором.
...
26. пользователь 13.01.12 23:06
Сообщение было скрыто модератором.
...
27. пользователь 13.01.12 23:06
Сообщение было скрыто модератором.
...
28. пользователь 13.01.12 23:07
Сообщение было скрыто модератором.
...
29. пользователь 13.01.12 23:07
Сообщение было скрыто модератором.
...
30. пользователь 13.01.12 23:07
Сообщение было скрыто модератором.
...
31. пользователь 13.01.12 23:08
Сообщение было скрыто модератором.
...
32. пользователь 13.01.12 23:08
Сообщение было скрыто модератором.
...
33. пользователь 13.01.12 23:08
Сообщение было скрыто модератором.
...
37. cyberozz 24.07.13 15:48 Сейчас в теме
На самом деле связка openoffice и python достаточно кривоватая и требует каких-то открытых портов и запущенных инстансов. Гораздо проще использовать ssconvert из пакета gnumeric.
38. viptextil 41 11.03.16 11:20 Сейчас в теме
Статья давняя, понимаю. Почему для конвертации документа под Linux нельзя использовать печать документа на CUPS-PDF принтер?
39. Трактор 1246 14.03.16 10:31 Сейчас в теме
(38) можно, наверное, но интересовали не только возможности получения pdf, а и заделы для обработки табличных документов под линуксом. Развивать эту разработку в данном направлении не стал.
Оставьте свое сообщение