Получение 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

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

См. также

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

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

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

14400 руб.

29.04.2020    24370    75    144    

58

Контроль действий пользователей II

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

Контролируйте, кто и что менял при работе в базах 1С: создание, правки, удаление, поиск потерявшихся данных, вычисление злоумышленников. Подсистема содержит 10 точных отчетов, гибкая настройка контроля. Не тормозит работу, не грузит базу 1С. Позволяет контролировать работу пользователей удаленно со смартфона.

14280 руб.

07.07.2023    3502    1    3    

7

SALE! 25%

PowerTools

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

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

3600 2700 руб.

14.01.2013    170203    1051    0    

792

Конфигурация Session Monitor

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

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

1500 руб.

01.12.2020    12576    27    0    

41

Сжатие (уменьшение) картинок в базе 1С и приведение их к одинаковой ширине

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

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

2000 руб.

21.07.2022    8116    5    3    

10

Завершение сеанса неактивных пользователей на сервере

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

Обработка позволяет отключить сеанс пользователя 1С при его простое (бездействии).

1000 руб.

30.03.2018    17872    5    5    

6

Инструменты для чистки кэша 1С

Инструменты администратора БД Абонемент ($m)

Публикация содержит набор bat файлов, используемых мной для умной чистки кэша 1С. Основой файлов являются PowerShell скрипты, которые используются для автоматизации чистки кэша, например, удаление кэш файлов старше десяти дней.

1 стартмани

05.06.2023    6672    40    Viki_push    21    

154

Утилита для получения информации о базе данных 1С в формате JSON

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

Без знания паролей пользователей, напрямую из таблиц базы 1С утилита получает разнообразную информацию. Это отличный инструмент для участия в автоматизации, группового обновления баз данных, а также для обеспечения внутренних регламентов безопасности.  Позволяет быстро получить информацию о наличии пароля, списках прав для пользователя, истории запусков базы, а также о сохранении конфигурации базы данных. 

600 руб.

05.04.2023    1510    1    0    

1
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Арчибальд 2704 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 1499 13.01.12 23:24 Сейчас в теме
(34) Это другое. Комментарии закрыты были сразу, вместе с их автором, поэтому по ним не ответить ничего. Могу открыть, но оно Вам надо?
36. Трактор 1246 13.01.12 23:26 Сейчас в теме
(35) Благодарю за оперативность.
4. CaSH_2004 370 29.10.11 13:33 Сейчас в теме
Сам не пользуюсь Линуксом, но ведь ОпенОфис на нем работает. Уточните, получается при этом не работает конфертация в PDF?
5. Трактор 1246 29.10.11 14:40 Сейчас в теме
(4) CaSH_2004, опен офис работает, только вызвать его из 1С до недавнего времени было непросто. Нужна была внешняя компонента. Эта публикация показывает как без внешних компонент обратиться к опену офису.

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

Меня расстраивала ограниченность вебклиента. Разобрать экселёвый файл на нём невозможно. На сервере под линуксом тоже ничего не получалось сделать. Puno brige даёт возможность импортировать экселёвские файлы.
Хорошая тема новой разработки "Универасльный разбор экселёвых файлов на виндовом и линуксовом сервере". Может быть выполнена как обработка с набором методов, не зависящих от ОС и офисного пакета и позволяющих читать и писАть экселёвые и опен офисные файлы.
6. Ish_2 1098 29.10.11 15:11 Сейчас в теме
Я в PDF и прочих линуксах ничего не понимаю.
Кургиняна по ссылке не читал. Но осуждаю.
И тебя : ссылка здесь ни к селу , ни к городу.
И Кургиняна : популярен и неглубок.
7. yandextesting 147 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 147 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 39 11.03.16 11:20 Сейчас в теме
Статья давняя, понимаю. Почему для конвертации документа под Linux нельзя использовать печать документа на CUPS-PDF принтер?
39. Трактор 1246 14.03.16 10:31 Сейчас в теме
(38) можно, наверное, но интересовали не только возможности получения pdf, а и заделы для обработки табличных документов под линуксом. Развивать эту разработку в данном направлении не стал.
Оставьте свое сообщение