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

28.10.11

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
converter2pdf.rar
.rar 32,64Kb
21
21 Скачать (1 SM) Купить за 1 850 руб.

Демонстрационная обработка по конвертации табличного документа в 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С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 руб.

20.08.2024    8472    63    29    

76

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 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, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

16800 руб.

06.12.2023    9061    43    5    

74

SALE! %

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

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

15000 10000 руб.

10.11.2023    10632    38    27    

63

SALE! %

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

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

4800 3840 руб.

14.01.2013    188433    1141    0    

913

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

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

14400 руб.

29.04.2020    32858    106    152    

73

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

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    72912    627    45    

85

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

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

4200 руб.

10.11.2015    62898    94    59    

79

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

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

3000 руб.

21.07.2022    9890    7    4    

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

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

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