воскресенье, 17 сентября 2017 г.

LibreOffice и "импортозамещение"

На русском форуме поддержки LibreOffice проскочила информация о том, что LibreOffice будет устанавливаться в МИД РФ в рамках программы "импортозамещения". Причем они там (якобы) проверяют исходники на предмет наличия закладок в коде, затем сформируют сертифицированную сборку, и, видимо, будут это юзать. Вопрос о том, как они будут ставить обновления, и будут ли вообще, остался открытым. Однако сам факт радует, может быть они наймут какую-нибудь контору для осуществления миграции и техподдержки, включая правку багов.

понедельник, 11 сентября 2017 г.

Прогресс в разработке 3D переходов между слайдами (GTK3 + OpenGL)

Один из самых активных разработчиков LibreOffice Caolán McNamara опубликовал небольшой пост о прогрессе в разработке Gtk3 OpenGL переходов между слайдами в презентациях. По ссылке доступно видео, в котором рядом демонстрируются 3D переходы до изменений (слева) и после (справа). Обратите внимание на артефакты и черное мерцание на левом изображении и отсутствие таковых на правом. Это достаточно заметное изменение и прогресс.

пятница, 1 сентября 2017 г.

LibreOffice и GSoC 2017. Результаты

Как вы знаете, Google каждое лето проводит мероприятие Google Summer of Code, в котором студенты имеют возможность заработать денег путем написания кода по заявкам от проектов с открытым исходным кодом. 2017 год исключением не был и проект LibreOffice получил 9 "грантов" для реализации студентами. Ниже имена героев и описание проектов и достигнутых результатов:
Aleksas Pantechovskis - реализация фильтра импорта QuarkXPress. Цель этой задачи - сделать реверс инжиниринг формата документа, созданного в QuarkXPress 4 (и более ранних версиях, 3.1-3.3, они похожи) и реализовать фильтр импорта - библиотеку C++ на основе librevenge. Начиная с QuarkXPress 5, его файлы шифруются, но, последней широко используемой версией была именно версия 4. Задача выполнена, создана библиотека импорта libqxp
Вот результат работы фильтра импорта на сегодня:
Gautam Prajapati - улучшение LibreOffice для платформы Android. Цель этой задачи - улучшение клиента Android LibreOffice, устранить его самые неприятные ошибки, добавить новые функции в средство просмотра документов и экспериментальную часть для редактирования, улучшить UI / UX, производительность и сделать его более простым и дружественным для разработчиков, улучшить документацию и встроенные комментарии. Задание было таким размытым, что можно считать его выполненным, вот здесь отчет студента о его работе, которая была больше технической, чем нацеленной на какие-то заметные простому пользователю вещи.
Grzegorz Araminowicz - улучшение в работе фильтра импорта SmartArt в LibreOffice. Цель - понятна без дополнительной расшифровки. SmartArt - это формат хранения диаграмм в файлах Office Open XML, который был представлен в MS Office 2007. Он позволяет отделять данные от способа представления, в результате чего образуются сложные диаграммы, созданные из записей маркированного списка. В настоящее время LibreOffice использует предварительно отрендеренную версию диаграммы, для MS Office 2010 и новее. Диаграммы из файлов MS Office 2007 часто выглядят пустыми. Целью проекта является расширение поддержки загрузки и компоновки диаграмм SmartArt. Это сделает LibreOffice более совместимым с OOXML-файлами и позволит в конечном итоге получить полную функциональность SmartArt, включая редактирование и экспорт. Проект был запущен как улучшающий импорт формата VML, но вскоре был изменен. Задача выполнена, реализовано достаточно большое количество необходимых для импорта фич из SmartArt. Вот отчет в списке рассылки разработчиков от студента.
Aditya Dewan - улучшения для LibreOffice Online. Цель - сделать важные функции, существующие в настольной версии LibreOffice и в других ведущих офисных пакетах, доступными для LibreOffice Online. В результате работы в LibreOffice Online была реализована интерактивная горизонтальная линейка во Writer Online и была расширена текущая реализацию WOPI для поддержки функциональности «Сохранить как». Ниже приведена демонстрация работы линейки:
Mohammed Abdul Azeem - миграция из старого Parser в FastParser (речь идет о парсере XML). Большая часть импорта ODF использует устаревший парсер. FastParser является потоковым, основанным на токенах и он быстрее, чем предыдущий парсер. Разработчики стремятся использовать FastParser почти везде и сделать некоторые улучшения в самом FastParser. Что выполнено в рамках проекта: распаковка zip вынесена в отдельный поток, все независимые контексты заменены на использование быстрых токенов, сделано много оптимизаций и рефакторинга кода, исправлены некоторые ошибки. Что еще пока в работе: замена XSAXDocumentBuilder2 на XFastDocumentHandler. Первый есть в нескольких модулях (sc, sw, starmath, sd и т.д.) и приводит к сбою на множестве тестовых примеров. Что не сделано: наблюдается несколько мелких проблем, для которых нужно написать тестовые примеры, преобразование оставшихся устаревших контекстов. Я не уловил, считается ли эта задача выполненной по меркам GSoC, но вот отчет студента о проделанной работе.
Varun Dhall - замена бинарного буфера обмена EditEngine на фильтр ODF. Проект включает в себя модификацию различных модулей, таких как editeng, xmloff, svl, sfx, dtrans и приложений, таких, как Draw / Impress / Calc для изменения буфера обмена. Перед отправкой данных в фильтр экспорта необходимо обработать правильный выбор текста. Для предотвращения регрессий также требуются новые модульные тест. Проект завершен, основные достигнутые цели: формат StarOffice больше не используется для операций копирования / вставки, сериализация SfxItemPool не используется нигде вне таблицы Auto-Formats, поля-гиперссылки копируются должным образом без потери информации, весь неиспользуемый код сериализации удаляется из всех модулей и приложений, что решает проблему ремонтопригодности. Отчет студента о завершении проекта доступен по ссылке.
Muhammet Kara - переработка диалога Настройка. Главное достижение этого проекта - была добавлена возможность для поиска необходимых пользователю опций в диалоге Настройка, которые он бы хотел добавить на панель инструментов или в меню или назначить сочетание клавиш, чтобы ему не приходилось вручную листать бесконечные списки или думать, в каком же разделе находится необходимый элемент. Также была проведена чистка кода. Ранее вся функциональность диалога была расположена в одном файле на более, чем 5000 строк кода. И как финал вот ссылка на видео с тем, что получилось в итоге.
Ximeng Zu - исправление большинства раздражающих ошибок для LibreOffice Android Viewer и добавление нового функционала. Что было сделано в рамках проекта: реализована поддержка файлов, защищенных паролем; добавлена панель адреса и формул; реализована вставка изображений, включая выбор из галереи и получение фото с камеры; динамический DPI для Calc; исправлена неправильная обработка внутренних ссылок, как внешних; некоторые исправления ошибок. Вот ссылка на отчет студента в списке рассылки.
Akshay Deep - улучшение диалога Специальные символы. Об этом я уже писал чуть ранее вот здесь. Продублирую здесь ссылку на его блог с отчетом о работе. Цель проекта достигнута.

PS: я некоторые специфично программистские вещи просто не знаю, как сказать по-русски, поэтому если кто-то почитает оригиналы и меня поправит по моему тексту, то я буду только благодарен.

пятница, 25 августа 2017 г.

Ribbon в LibreOffice. Август 2017г

Сегодня пришлось поюзать LibreOffice 6.0 в целях небольшого тестирования и взбрело мне в голову посмотреть, а что там риббон? Напоминаю, что сейчас есть несколько вариантов риббона/ленты в LibreOffice, все в разной степени готовности к использованию: 
Contextual groups
Contextual single
Tabbed
Groupedbar Full
Groupedbar Compact
Мне показалось, что первые два не развиваются никак, вариант Tabbed - выглядит сейчас просто отвратно, что-то сломали там разработчики, я даже показывать вам это не стану, а вот Groupedbar Full мне даже понравился, не смотря на детские болезни. Вот так оно выглядит (а ниже для сравнения MS Word) сейчас:
Картинку смотреть увеличенной, потому что скриншот сделан на мониторе 1920px. И в либре и в ворде активирован режим работы с таблицами, то есть курсор находится в границах таблицы. Есть одна крайне серьезная проблема в реализации этого варианта риббона: на экране с разрешением по ширине 1280px крайний правый блок при первом запуске наезжает на соседний слева блок. Если окно LibreOffice из полноэкранного режима перевести в оконный и обратно, то крайний правый блок скрывается за границей приложения и никаким образом оттуда его не достать. А там, в выпадающем Menu, скрывается переключатель на обычный (или любой иной) вид панели инструментов. Получается пользоваться сейчас этим вариантом можно только на широкоформатных мониторах от 1366px. Использование этого варианта риббона рвотного рефлекса не вызывает, поскольку не надо прыгать по вкладкам, как в МСО, и под блоками есть дополнительные соответствующие блокам меню. Настраивать под себя это все пока нельзя, это вторая серьезная проблема. Пилит этот вариант ленты Andreas Kainz.
PS: под Linux весь ГУИ LibreOffice выглядит НАМНОГО лучше визуально.

вторник, 22 августа 2017 г.

Механизм автоматического обновления LibreOffice. Часть 2

Я чуть ранее писал уже о том, что Markus Mohrhard реализует для LibreOffice механизм автоматического обновления, аналогичный тому, который есть в windows сборках Firefox. Тогда была доступна для тестирования сборка только для Linux только для 64 битной архитектуры. Сегодня Markus сделал анонс доступности механизма автообновления в ежедневных сборках для платформы Windows.
Итак:
  • Собственно доступны ежедневные сборки по адресу http://dev-builds.libreoffice.org/daily/master/Win-x86@38-updater/, которые можно скачать, распаковать в любой каталог, доступный пользователю на запись (это ВАЖНО!), и тестировать. (Обратите внимание, что в архиве содержится дополнительный уровень вложения каталогов, это может вызвать проблемы с длиной имени файлов в Windows, если сборка у Вас не запускается, то переместите каталог со сборкой ближе к корню диска).
  • Добавлено окно с отображением прогресса в автообновлении LibreOffice.
  • Двухэтапное автообновление (я писал об этом ранее) заменено на обновление в один этап: скачивается дельта-файл и при следующем запуске LibreOffice начинается механизм обновления установленной рабочей копии.
Для того, чтобы механизм полноценно заработал и был включен уже в версию 6.0 необходимо реализовать ещё две большие вещи:
  • Генерация обновлений MSP и инфраструктуры для их применения через updater в LibreOffice на основе файлов MAR. Разработчики Mozilla когда-то работали над интеграцией поддержки MSI в свой код обновления, но отказались от этой работы.
  • Интеграция Windows Service Silent Update для установки в обычный каталог Program Files и интеграция с Windows UAC. Большая часть кода уже существует и уже включена в сборки , но интеграция в код упаковки и установки LibreOffice всё ещё отсутствует.
Если Markus завершит эти два этапа к середине ноября, чтобы успеть до заморозки добавления нового функционала, качество кода устроит выпускающих релиз и QA, то это таки попадёт в выпуск LibreOffice 6.0. 
Используя текущую сборку с механизмом автообновлений и сообщая о любых проблемах Markus'у, Вы можете помочь сделать это реальностью.
Если есть желающие помочь в написании кода для реализации механизма автообновления в LibreOffice, то Markus готов к общению. Найти его можно в IRC сети irc.freenode.net на канале #libreoffice-dev, ник у него - moggi, или написать в список рассылки разработчиков libreoffice@lists.freedesktop.org.

PS: я скачал сборку по ссылке, но:
  1. Не нашел никаких настроек для вкл/выкл автообновления (спрошу у Markus'а попозже, есть ли они в принципе)
  2. Не увидел воочию, как это работает в реальности и работает ли вообще (но тут следует подождать пару дней, чтобы появилась разница между сборками видимо). Update: таки да, на следующий день обновление прилетело само и LibreOffice сам обновился. На SSD процесс обновления занял намного меньше времени, чем это бывает у Firefox. Появляется такой вот прогресс-бар: 
Update-2: Ещё пара подробностей.
  • Нет никаких настроек для автообновления сейчас, кроме возможности его отключить.
  • Если вы три дня не будете запускать билд, скачанный по приведённой выше ссылке, то обнаружите, что апдейтер скачает вам полный инсталлятор вместо инкрементного и при следующем запуске обновит весь установленный билд. Это работает так сейчас, потому что Markus собирает инкрементные патчи у себя на локальной рабочей машине, а потом выкладывает в сеть. Это занимает ресурсы и время. В релизе конечно это будет делать сборочный сервер.
  • Как именно будет работать апдейтер в релизной версии пока неизвестно. В том плане, с какой версии до какой можно будет обновляться инкрементно, а в каких случаях только полный апдейт, это еще не решали. 
  • Возможно появятся дополнительные настройки или уведомления об этом.

понедельник, 21 августа 2017 г.

LibreOffice 6.0. Улучшение в работе со специальными символами

Ранее я писал, что в рамках GSoC один из студентов, Akshay Deep, будет заниматься улучшением диалога Специальные символы в LibreOffice. Сегодня он опубликовал итоги своей работы в этом направлении, как это есть сейчас. По ссылке выше доступны анимированные GIF изображения, увеличьте страницу его блога в браузере для корректного отображения изображений.
Итак, что уже реализовано:
  • В диалог добавлено поле для поиска символа по его имени. Имя символов, введенное пользователем, сравнивается с названиями символов, предоставляемыми специальным API ICU, API отдает номера символов Unicode, результат в виде набора символов показывается пользователю в диалоге. Имя символа вводится только на английском языке.
  • В поле поиска можно ввести имя символа и прокручивать список шрифтов, пока не будет найден нужный символ.
  • В диалог добавлены список последних используемых символов и список символов пользователя в виде строк из пиктограмм.
  • Значок на панели инструментов Стандартная изменен на выпадающее меню, которое содержит вышеуказанные строки с часто используемыми символами и символами пользователя, а также кнопку, открывающую собственно диалог.
  • В диалоге реализованы контекстные меня для управления символами, как в основной таблице символов, так и в строках с часто используемыми символами и символами пользователя.
Это всё будет доступно в будущем релизе LibreOffice 6.0, который выйдет где-нибудь в январе 2018г.
Это реально хорошая, нужная и большая работа, которую выполнил Akshay Deep. Вопрос с качеством его кода остается открытым конечно, и, насколько я понял, есть некоторое количество проблем, которые ему еще предстоит закрыть, и еще некоторые проблемы, к которым он даже не знает, как подступиться, но будем надеяться, что на общую стабильность LibreOffice это не повлияет.

воскресенье, 13 августа 2017 г.

Опрос: какие аспекты важны для Вас?

Очередной опрос (имхо, он ни о чём) от разработчиков LibreOffice. Какие аспекты (в LibreOffice) важны для Вас? Вот прямая ссылка на сам опрос. Опрос доступен на нескольких языках, русского пока нет.
На первой странице выберите удобный Вам язык и нажмите внизу кнопку Next.
1. Насколько важна стабильность для вас? Стабильность означает, что программа функционирует должным образом и не зависает и не падает при неожиданных условиях.
Слева направо: от очень важно до совсем не важно
2. Насколько важна для вас возможность копировать и использовать исходный код? Любой может прочитать исходный код, понять, как вычисляется функция, и использовать его для своих собственных проектов.
Слева направо: от очень важно до совсем не важно
3. Насколько важна прозрачность (проекта, во всех смыслах) для вас? Проект разрешает использование, изучение и модификацию исходного кода без ограничений, а в качестве обычного пользователя вы регулярно информируетесь обо всех аспектах.
Слева направо: от очень важно до совсем не важно
4. Насколько важна безопасность для вас? Безопасность - это защита от кражи информации или ущерба, а также от сбоев или неправильной обработки.
Слева направо: от очень важно до совсем не важно
5. Насколько важен фактор затрат (денег на софт) для вас? Программное обеспечение с открытым исходным кодом, как правило, бесплатно, но, например, может потребовать дополнительных расходов на обучение и администрирование. 
Слева направо: от очень важно до совсем не важно
6. Насколько важна техническая поддержка для вас? Имеется ввиду техническая поддержка с точки зрения доступности вики и форумов, а также возможность связаться с экспертами и даже разработчиками софта. 
Слева направо: от очень важно до совсем не важно
7. Насколько важен для вас опыт пользователя? Хороший пользовательский интерфейс означает, что функциональные требования полностью покрыты, программа проста в использовании, и с ней приятно работать.  (в качестве комментария: я этот вопрос не понял совсем)
Слева направо: от очень важно до совсем не важно
8. Насколько важна для вас совместимость? Это означает наличие обратной совместимости со старыми версиями софта, а также совместимость между различными программами и платформами. 
Слева направо: от очень важно до совсем не важно
9. Насколько важно иметь доверенного производителя (софта)? Доверие к производителю (или, скорее, к издателю) означает, что вы знаете организацию и людей в течение многих лет и можете рассчитывать на продукт в будущем. 
Слева направо: от очень важно до совсем не важно
10. Насколько важна Настраиваемость / Модифицируемость для вас? Этот термин означает, что вы можете адаптировать программу к вашим личным потребностям и предпочтениям относительно визуального внешнего вида, а также рабочего процесса.
Слева направо: от очень важно до совсем не важно
11. Какие другие офисные апартаменты вы используете на регулярной основе? (можно выбрать несколько вариантов)
Apache OpenOffice
Apple iWork
Calligra Suite
Corel WordPerfect Office
Google Docs
Kingsoft WPS Office
Microsoft Office
NeoOffice
OnlyOffice
SoftMaker Office
Other (другое, нужно в поле ввести, что именно)
12. Как часто вы используете онлайн-офис?
never (никогда)
rarely (редко)
occasionally (время от времени)
frequently (часто)
always (всегда)
13. Сколько лет вы являетесь пользователем LibreOffice и его предшественника?
В поле ввести число лет
14. Может ли коллега или друг спросить вас, как решить проблему с LibreOffice?
Да / Нет
15. Какую версию LibreOffice вы используете в настоящее время (не только для тестирования)?
I'm always on 'stable' (я всегда использую stable)
Nothing else than 'fresh' (всегда fresh)
Bleeding edge with nightly builds (ежедневные сборки)
No idea, whatever the updater recommends (использую то, что установлено)
I don't care at all (мне все равно)
16. Как Вы связаны с проектом (LibreOffice)? (можно вырать несколько вариантов)
Normal user (обычный пользователь)
Administration (администратор)
Development/Design (разработчик / дизайнер)
Help authoring/User support at ask.libreoffice.org (писатель справки / поддержка пользователей)
Marketing (маркетинг)
Localization (команда локализации)
QA: reporting, testing, confirming bugs (тестировщик: отчеты, тестирование, подтверждение ошибок)
Training (обучение)
17.  Вы член The Document Foundation? (если вы не знаете, что это значит, то Ваш ответ "Нет")
Да / Нет
18. Какую операционную систему вы используете?
Microsoft Windows XP, 2000, Vista, NT
Microsoft Windows 7
Microsoft Windows 8, 10
macOS
Linux
Other: (написать в поле, какую именно)

После ответов на все вопросы нажмите кнопку Submit в правом нижнем углу страницы (возможно надо будет долистать сайт до упора вниз)

воскресенье, 6 августа 2017 г.

Руководство пользователя LibreOffice Calc (PDF). Мысли о вечном

Наткнулся в сети на PDF файл "Краткое руководство по Calc" для версии LibreOffice 4.3. Собственно, на самом деле это кусок большой книги, которую мы в свое время обозвали "Краткое руководство пользователя", хотя на самом деле в оригинале нечто вроде "Руководство по быстрому старту". Не суть.
Так вот, этот самый PDF файл, он нужен и полезен, не смотря на ниже написанное, поскольку полноценного перевода LibreOffice Calc Guide на русский язык нет. Однако, при этом, по моему скромному мнению, есть пара НО:
Первое - текст в файле не является просто дословным или литературным переводом оригинального английского гайда. В тексте есть отсебятина от Дмитрия Мажарцева про систему общей работы над текстами в виде использования связки read the docs, Sphinx и GitHub. К предмету книги эта информация крайне мало относится, однако это была идея фикс Дмитрия и при создании этого PDF лишняя информация была туда добавлена, благо лицензия оригинала это позволяет.
А второе, которое мне не понравилось намного больше, - на обложке гордо сияет имя одного Дмитрия Мажарцева, хотя изначально перевод был сделан мной и был вклад от Леры Гончарука. Справедливости ради хочу заметить, что наши имена в тексте в разделе авторство фигурируют в разделе "Команда", однако, в таком случае, следовало бы на обложку вынести всю "команду" или не прописывать никого, как это сделано в официальных гайдах по LibreOffice - на обложке просто название и версия LibreOffice, а авторы перечислены по тексту самой книги.
Повторюсь ещё раз: я ни коим образом не против распространения этого конкретного файла, однако меня покоробило выпячивание одного члена "команды" на самое видное место в книге. Я считаю такое просто не этичным.

понедельник, 31 июля 2017 г.

Удалена тема значков Oxygen из LibreOffice 5.4

Я, откровенно говоря, уже ничему не удивляюсь. Наши доблестные дизайнеры, раз уж им не позволили удалить функционал из LibreOffice 5.4, решили удалить хоть что-то. И этим чем-то оказалась тема значков Oxygen. Для тех, кому тема нравилась, я ее выцепил из LibreOffice 5.3 и выложил вот тут. Скачайте архив с названием images_oxygen.zip, и этот архив с темой разместите по следующим адресам (обращайте внимание на номера версии LibreOffice в путях до каталогов!):
- в Linux - в каталог /opt/libreoffice5.2/share/config либо в /usr/lib/libreoffice/share/config/
- в Windows - в каталог C:\Program Files (x86)\LibreOffice 5\share\config\ для 32 битной Либры и в C:\Program Files\LibreOffice 5\share\config\ для 64 битной
- в OS X (macOS) - в каталог LibreOffice/Contents/Resources/config/
После этого перезапустите LibreOffice и в диалоге из меню Сервис-Парметры-LibreOffice-Вид справа выберите из выпадающего списка нужную тему и нажмите кнопку ОК.

пятница, 28 июля 2017 г.

Выпуск LibreOffice 5.4

Внезапно, не в начале августа, а неделей раньше разработчики объявили о выпуске новой версии LibreOffice 5.4.
Подробно о новшествах в этой версии написано в вики проекта.
Скачать установочный дистрибутив для Windows, Linux и macOS можно по этой ссылке http://www.libreoffice.org/download/download/.
Данный выпуск предназначен для использования энтузиастами и людьми, которым просто нравятся самые последние версии ПО.

среда, 26 июля 2017 г.

Укрощение справочной системы LibreOffice

Весьма странный термин выбрал Оливье Хэллот (Olivier Hallot) для того, чем он сейчас пытается заняться. А пытается он ни много ни мало, а переделать справку LibreOffice для того, чтобы было более удобно ей пользоваться, используя обычный (или мобильный) браузер. 
Та справка, что есть сейчас, делалась в лохматых уже 2003-2004 годах и представляет собой набор XML файлов, которые доступны исключительно из самого LibreOffice. Также копии этих файлов доступны в вики проекта. 
Оливье преобразует страницы справки из XML в чистый, почти статический и быстрый HTML. 
Этот подход имеет некоторые преимущества:
  • Работает в каждом браузере
  • Предоставляет текущую функциональность справочной системы
  • Сохраняет текущий процесс разработки, написание справки, и процесс перевода, как они есть сейчас
  • Можно прочитать страницы справки на мобильном телефоне или планшете
  • Можно легко добавить дополнительную разметку для лучшей индексации в поисковых системах
Недостатком является увеличение дискового хранилища на сервере.
Оливье приглашает всех желающих помочь ему в этой несомненно нужной работе.

воскресенье, 9 июля 2017 г.

Часто задаваемые вопросы по работе в LibreOffice (FAQ)

Если вдруг кто-то не знает, то для LibreOffice есть небольшая подборка часто задаваемых вопросов (и ответов на них конечно же), которая расположена в вики проекта по адресу:
По указанному адресу Вы сможете найти ответы, как на общие вопросы по работе с офисным пакетом, так и ответы на более специфичные для каждого модуля Writer, Calc, Impress, Draw, Math и Base. Некоторые статьи пока еще не переведены и Вы можете оказать помощь проекту, переведя их ;)
Указанный ресурс является неплохим подспорьем в быстром освоении LibreOffice, наравне со встроенной справкой и руководствами пользователя.

среда, 28 июня 2017 г.

Результаты опроса по поводу частоты использования некоторого функционала LibreOffice

Сегодня разработчики опубликовали результаты опроса по поводу частоты использования некоторых функций в LibreOffice. В опросе поучаствовало почти 8000 человек. Интересно, что открыли опрос и не прошли его до конца, а просто закрыли страницу еще 2500 человек. Итог опроса разработчиков удивил:
Вполне достаточное количество людей пользуется редкими и не нужными на взгляд разработчиков функциями (ну за явным исключением в виде Flash). В итоге принято решение никакой из обозначенных в опросе функционалов не удалять, а провести более вдумчивое и обширное исследование на эту тему.
Вообще LibreOffice представляет из себя офисный комбайн с достаточно большим разнообразием доступных пользователю функций. Он таким и задумывался изначально, как ответ на засилие МСО. С чего вдруг разработчики решили, что часть функционала из комбайна нужно выпилить - это такой очень хороший вопрос.

суббота, 24 июня 2017 г.

Мерцающие меню в LibreOffice 5.4

Я не знаю, когда это началось, люди в багзилле пишут, что с версии 5.3 уже такое есть, НО я вот в версии 5.4.0.1 (это первый релиз-кандидат версии 5.4) в Windows с отключенным выводом через OpenGL на домашней видеокарте АМД вижу как мерцает строка меню, если по ней провести курсором мыши. Причем на видеокарте от АМД это слегка, но видно, однако все равно раздражает сразу, ибо глаза не казенные, а вот на Интел HD4000 - это просто безумное моргание интерфейса. Причем, если OpenGL включить, то мерцания нет, однако проблема в том, что драйвер для Интел HD4000 внесен в черный список в Либре и OpenGL для него не активируется, а принудительная активация роняет Либру в аут.
В итогах у нас будет релиз, которым по факту очень много где нельзя будет пользоваться, поскольку глаза вытекут.
В ОС на базе Linux такой проблемы вроде бы нет, ну во всяком случае у меня эффект такой отсутствует в Xubuntu со свободными драйверами видеокарты.
Ошибка соответствующая в багзилле есть и не одна, поскольку моргает периодически в разных местах. Пока разработчики ничего по этому поводу не говорят, ИМХО, по очень простой причине: у громадного большинства разработчиков основная система как раз ОС на базе Linux и они не видят этот ужас. Это кстати в далекой перспективе может привести к тому, что на ОС Windows Либра просто перестанет восприниматься, как хоть какой-то конкурент МСО.

четверг, 22 июня 2017 г.

Механизм автоматического обновления LibreOffice

Один из разработчиков LibreOffice, Markus Mohrhard, опубликовал пост в своем блоге о прогрессе в разработке механизма автообновления LibreOffice.
В чём вообще суть и цель этой штуки: при любом обновлении версии LibreOffice, даже самом незначительном, вроде с версии 5.3.1.1 до 5.3.1.2 приходится выкачивать полный дистрибутив, удалять старую версию и заново ставить новую (мы говорим про случай, когда LibreOffice устанавливается не из репозиториев дистрибутива Linux, а из сборки, которые распространяет сам The Document Foundation). Для Windows и macOS ситуация в целом аналогичная. Так вот указанный механизм автообновления самостоятельно проверяет наличие обновлений на сайте/сервере TDF и скачивает так называемый дельта-файл - файл, который содержит только разницу между установленными файлами и новыми на сервере. После этого происходит распаковка дельта-файла и обновление только некоторых файлов в уже установленном LibreOffice. Что это даёт? Первое - это автоматизация процесса, софт всё сделает сам, от пользователя потребуется только согласиться на обновление. Второе - размер скачиваемого файла с обновлением, он намного меньше. Г-н Mohrhard в своём посте отметил стократную! разницу (конечно это справедливо для обновления ежедневных сборок, однако кратная разница в размере скачиваемой информации будет наверняка. Это по сути зависит от разницы между версиями ПО, чем больше разница, тем больший размер будет иметь дельта-файл), а это уменьшит нагрузку на серверы TDF.
На сегодня доступна рабочая статичная сборка с встроенным механизмом обновления только для Linux и только для архитектуры х86_64. Архив, скачанный по ссылке, нужно распаковать куда-то, откуда простой пользователь может запускать программы, и просто запустить бинарник. По идее оно должно заработать в любом дистрибутиве Linux с подходящей архитектурой.
Сам код механизма заимствован у Mozilla Firefox и был творчески переработан.
Технически обновление выглядит так (ниже мой свободный перевод текста из поста Маркуса):
"Процесс обновления в настоящее время двухэтапный, но позже он может быть заменён на одноэтапный. На первом шаге LibreOffice связывается с нашим сервером обновлений, который знает обо всех доступных обновлениях, и сервер сообщает о доступных обновлениях установленному экземпляру LibreOffice. На основе полученного ответа установленный экземпляр LibreOffice загрузит нужный файл обновления, проверит, что файл верен (размер файла и хеш), скопирует существующую установку в отдельный каталог обновления и применит обновление. После того, как обновление было применено, первый этап завершается. Во время следующего запуска обновленная сборка из каталога обновлений заменит существующую установку."
При этом двухэтапное обновление не очень хорошо подходит для Windows, есть риск повреждения профиля пользователя (который и так слишком хрупкий, и ломается даже сам по себе достаточно часто). Есть идея о том, чтобы скачивать дельта-файл и проводить обновление не в отдельном каталоге с копией установленной версии, а просто при следующем запуске LibreOffice.
Ещё цитата: "Еще одна огромная проблема автоматического обновления - как обрабатывать случай, который пользователь не имеет прав на запись в установочный каталог (например, LibreOffice, установленный, как обычное приложение в Windows). Mozilla обрабатывает этот случай в Windows через дополнительную службу обновления, которая повышает привилегии процесса обновления. В настоящее время я (Markus) планирую использовать ту же концепцию для LibreOffice, и код службы обновления уже успешно компилируется в Windows. Использование такой службы требует от нас убедиться, что служба не может использоваться никаким исполняемым файлом, который не создан командой LibreOffice, а это требует проверки подписей файлов на каждом шаге. Поскольку я (Markus) не мог найти способ надежной проверки подписи исполняемых файлов и библиотек в Linux, в настоящее время эта функция не поддерживается за пределами Windows."
Что ещё нужно реализовать: "В настоящее время одной из оставшихся функций, которые всё еще нужно реализовать для всех платформ - это пользовательский интерфейс для этого функционала. Большей задачей является обеспечение работоспособности программы обновления в Windows, включая службу обновления и интеграцию MSI с помощью обновлений MSP. Кроме того, хотелось бы написать несколько автоматических тестов, которые будут гарантировать, что обновления работают, и что обновленные сборки и свежеустановленные сборки идентичны."
Если есть желающие помочь в написании кода для реализации механизма автообновления в LibreOffice, то Markus готов к общению. Найти его можно в IRC сети irc.freenode.net на канале #libreoffice-dev, ник у него - moggi. Начать знакомство можно с easy-hack из ошибки tdf#108563 в багзилле проекта.

суббота, 17 июня 2017 г.

Опрос по поводу частоты использования некоторого функционала LibreOffice

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

пятница, 16 июня 2017 г.

Блиц-опрос про новый внешний вид заставки LibreOffice

Разработчики проводят блиц-опрос по поводу внешнего вида заставки, которая показывается при старте LibreOffice. Собственно вот ссылка на страничку, там показаны 4 варианта заставки, а ниже эдакая форма, в которой можно выбрать только один из них. Связано это обновление с тем, что следующая версия LibreOffice будет иметь номер 6.0, а не 5.5. С чем уж это связано, знают только маркетологи TDF.
Все, кому интересно, могут проголосовать.

четверг, 8 июня 2017 г.

Выпуск LibreOffice 5.4 beta 2

Состоялся выпуск 2 бета версии LibreOffice 5.4. В связи с этим разработчики объявили "Охоту на ошибки №2". Если вы хотите помочь проекту, то скачайте дистрибутив LibreOffice 5.4 beta 2 для своей операционной системы отсюда http://dev-builds.libreoffice.org/pre-releases/. Установите его на ваш компьютер (установится параллельно основной версии) и выполняйте на нём свои обычные операции. Об обнаруженных ошибках желательно сообщать разработчикам в багзилле проекта. 
Из логов баг-фиксов, кстати, видно, что количество исправленных crash-ошибок в данном релизе намного больше, чем в предыдущих. То ли качество кода упало в целом за последний год, то ли больше пользователей стало сообщать о своих проблемах в багзиллу, то ли креш-репортер вышел на проектную мощность и заставляет разработчиков обращать внимание на самые вопиющие случаи, с которыми сталкивается большое количество народа. 
Зато количество новых фич, добавленных в 5.4, резко упало по сравнению с предыдущими релизами, релиз нотес 5.4 считай пустой, читать не о чем.

вторник, 23 мая 2017 г.

Изменение диалога Настройка (GSoC 2017)

Я чуть ранее уже писал о том, что в рамках GSoC 2017 будет в том числе переработан диалог Настройка. Сегодня я увидел откуда черпают вдохновение дизайнеры LibreOffice (собственно это не было откровением):
По ссылке краткое описание "проблем" текущего варианта диалога Настройка и видение его будущего вида. А ниже сравнение с аналогом из MS Office. То есть нет никакой фантазии и даже потуг к творчеству и реальным улучшениям в юзабельности в этом изменении диалога. Тупое копирование интерфейса из MSO, такое же тупое, как и копирование риббона отуда же.

пятница, 19 мая 2017 г.

Регистрозависимые фильтры в LibreOffice

Обнаружил крайне критичные для русскоязычных пользователей ошибки в работе LibreOffice версий до 5.3.2 включительно: в полях ввода выпадающего окошка автофильтра в calc и в диалоге Поля-Перекрестные ссылки во Writer учитывается регистр вводимых символов для кириллицы. То есть для этих фильтров слова "Вася", "вАся" и "ВАся" - это три разных слова и при вводе в поле фильтра слова "вася" ни одно из них в выборку фильтра не попадет!
Вот, как это выглядит в Calc. Вот исходные данные:
А вот работа автофильтра на этих данных:
Видите, ни одно значение в выборку не попало!
Следующая картинка показывает то же самое для фильтра в диалоге Поля-Перекрестные ссылки:
Опять же фильтр по заголовкам не показывает ни одного варианта, хотя по идее должен был бы.
Для латиницы (английский язык например) - этой проблемы нет, все корректно работает и фильтрует без учета регистра символов.
И если для автофильтра в Calc проблему в 5.3.3 должны были исправить, поскольку соответствующая бага в багзилле отмечена, как FIXED, то проблему в Writer я обнаружил только вчера и создал еще одну запись в багзилле.
Обратите внимание: в диалогах найти и заменить (Ctrl+H) и в панели поиска по Ctrl+F фильтр работает НОРМАЛЬНО, то есть регистронезависимо и ищет все вхождения хорошо.
Учитывайте эту информацию в работе. Если во Writer это не так и критично, то автофильтр в Calc может показать вам не полную картинку по данным и привести к печальным последствиям!

вторник, 16 мая 2017 г.

Сбербанк переходит на LibreOffice

Новость дня прямо. Общался сейчас с человеком, который сообщил мне, что Сбербанк начал проект по переводу овер 200000 рабочих мест на LibreOffice. Они еще в самом начале пути, однако уже есть реализованный пилотный проект и сам LibreOffice установлен на большинстве машин. Однако впереди еще долгий путь, свойственный огромным компаниям, по регламентированию и урегулированию всего, связанного с использованием ТОЛЬКО LibreOffice для документооборота. Пожелаем им удачи, потому что пример такого монстра, как Сбербанк, может сподвигнуть на переход к использованию LibreOffice ещё кого-нибудь, особенно если будет какой-нибудь развёрнутый отчет о внедрении.

суббота, 13 мая 2017 г.

Перевод на русский язык руководства пользователя LibreOffice Impress

Закончен перевод официального руководства пользователя LibreOffice Impress на русский язык. Для тех, кто не в курсе: LibreOffice Impress - это модуль, в котором создаются презентации, аналог MS PowerPoint. 
Перевод выложен по главам в форматах ODT и PDF в вики проекта, вот ссылка. Однако 5 и 6 главы, посвященные рисованию фигур, я переводить не стал, потому что это всё прекрасно и подробно описано в руководстве пользователя LibreOffice Draw, которое можно скачать на той же странице, а вот прямая ссылка. Обратите внимание, что книга по Impress основана на версии 5.2, а по Draw - на 4.3. Это абсолютно не критично, поскольку в Draw с версии 4.3 по 5.2 ничего не менялось, даже в плане изменения пунктов меню. Возможно в будущем мне захочется отвлечься от всего и добить перевод руководства по Impress, просто чтобы сформировать полную книгу, посмотрим.
Надеюсь, что эти руководства помогут русскоязычным пользователям в освоении LibreOffice.

вторник, 9 мая 2017 г.

GSoC 2017 и LibreOffice

Разработчики LibreOffice опубликовали интересный пост о студентах, которые будут работать над улучшением LibreOffice в 2017 году в рамках ежегодного мероприятия Google Summer of Code.
Напомню, что Google каждый год выделяет некоторое количество денег студентам, которые готовы за лето написать код для свободного программного обеспечения (OpenSource), в рамках соответствующих запросов от представителей такого ПО. Итак:
Улучшение работы со специальными символами в LibreOffice. Основная идея по улучшению юзабельности этого компонента состоит в том, чтобы сделать из соответствующего значка на панели инструментов выпадающее меню-диалог, которое будет отображать последние использованные специальные символы, а также содержать ссылку для открытия основного диалога Специальные символы. Мокап (предварительный) ниже:
Реализовывать это взялся Akshay Deep, который в прошлом году занимался улучшением Боковой панели в LibreOffice.
Улучшение Notebookbar. Что такое этот Notebookbar я неоднократно рассказывал ранее, здесь, здесь и далее по ссылкам. Этот новомодный интерфейс у кого-то из разработчиков выглядит так:
Основная проблема этой штуки (для меня), что у меня оно не выглядит ТАК органично и красиво, а выглядит, как вызывающее рвотный рефлекс убогая недопиленная фиговина. Однако мы отвлеклись. 
На сегодня некоторые задуманные для этого нового ГУИ вещи не реализованы:  реакция на изменение размера окна, чтобы кнопки и группы сворачивались по мере уменьшения ширины окна и разворачивались обратно после разворачивания окна, необходимо добавить некоторые недостающие элементы пользовательского интерфейса, добавить поддержку жестов мышью и так далее. Заниматься этим будет Gökhan Gurbetoğlu.
Переработка диалога Настройка. Этим разработчики собираются заняться уже второй год наверное. Мокап (предварительный) ниже:
С моей точки зрения улучшения юзабельности особой не заметно. Реализовать это взялся Muhammet Kara, который ранее также уже был замечен в написании кода для LibreOffice.
Наставниками указанных студентов будут Katarina Behrens (которая очень недовольна качеством того кода, который пишут такие вот студенты из GSoC), Thorsten Behrens, Jan Holesovsky, Szymon Kłos, Samuel Mehrbrodt, Yousuf Philips и Heiko Tietze.

Результаты опроса о внешнем виде встроенных стилей таблиц Writer

Разработчики из команды дизайна опубликовали результаты опроса о внешнем виде встроенных стилей таблиц во Writer. Ниже приведены примеры стилей с подписями, а еще ниже - иллюстрация с результатами:

Глядя на эти две иллюстрации, можно сказать, что народ тяготеет к простым чистым и хорошо читаемым стилям таблиц в черно-белом или, реже, в цветном варианте, а также к стилям с просто четко выраженными границами первой/последней строки/столбца. Целиком залитые цветом (серые, желтые, зеленые и какие угодно еще), а также с попытками изобразить 3Д-эффекты - такие варианты оценены пользователями негативно.
Вот еще варианты для новых цветных стилей таблиц:
 
Всего в опросе приняло участие более 550 человек.
Разработчики приняли результаты этого опроса, как руководство к действию, и в ближайшее время заменят существующие стили таблиц на новые в соответствии с результатами опроса.

пятница, 28 апреля 2017 г.

Опрос о внешнем виде стилей таблиц в LibreOffice

Разработчики из дизайн-тим LibreOffice опубликовали опрос по поводу внешнего вида стилей таблиц. В опросе всего одна страница с примерами оформления таблиц стилями, нужно просто потыкать в варианты от "УЖАС УЖАС" до "СУПЕР-ПУПЕР".
Вот ссылка на сам опрос: https://survey.documentfoundation.org/128518?lang=en
Нажмите на Next и на следующей странице проставьте рейтинг оформлению таблиц. Просьба крайний правый вариант No answer не оставлять. Спасибо =)

воскресенье, 23 апреля 2017 г.

Новости о Ribbon в LibreOffice

На каналае Telegram увидел чудесное видео о некой новой реализации Риббона в Либреофисе. Вот ссылка https://www.youtube.com/watch?v=uBgzwY_y2hc. Основная идея такова: наиболее частоиспользуемые функции вынесены на ленту, а ПОД лентой есть еще собственно строка меню, которую можно использовать ровно так же, как и сейчас. Также эта строка выполняет роль подсказки по месту нахождения функций в ленте. Проблема у этого всего одна, оно жрет место по вертикали.

среда, 12 апреля 2017 г.

LibreOffice 5.4. Обновленная стандартная цветовая палитра

В LibreOffice 5.3 были сильно переработаны цветовые палитры из стандартной поставки LibreOffice. Почитать об этом можно вот тут. Однако в следующей версии LibreOffice 5.4 разработчики решили улучшить цветовую палитру standard, которую чаще всего и используют пользователи. Они сделали опрос, по результатам которого указанная цветовая палитра была изменена еще раз. Ниже показана эволюция цветовой палитры standard от версии 4.3 до версии 5.4:
В версии 5.4 первая строка палитры представляет собой черно-белый ряд. Вторая строка - это последовательность цветов: жёлтый, золотой, оранжевый, кирпичный, красный, фиолетовый, пурпурный, индиго, синий, сине-зеленый, зеленый, лайм. Четыре нижележащих строки представляют собой более светлые оттенки указанных цветов, а еще нижерасположенные четыре строки - более тёмные оттенки.

пятница, 31 марта 2017 г.

Условное форматирование в LibreOffice Calc

Как ни странно, очень многие люди, использующие в работе электронные таблицы Calc, не знают о такой вещи, как условное форматирование. Что такое условное форматирование? Это автоматическое форматирование ячейки в зависимости от данных в ней и условия, заданного пользователем. Например, в зависимости от данных в ячейке может меняться её цвет или, например, такие свойства шрифта, как размер, гарнитура, эффекты или цвет, а также это всё вместе в различных вариациях. Или в ячейке могут быть показаны дополнительные значки или гистограммы (но об этом ниже).
Для чего это нужно? Это нужно для визуального выделения нужных данных среди всех остальных, либо для облегчения визуального восприятия информации. Причем пользователю не нужно всматриваться, пытаться анализировать данные, а затем вручную что-то выделять или помечать. Программа всё сделает за Вас.
Настройки условного форматирования расположены в подменю Формат-Условное форматирование.
Доступны следующие варианты: Условие, Цветовая шкала, Гистограмма, Набор пиктограмм, Дата. Рассмотрим каждый из них подробнее:

Условие.
На иллюстрации ниже видно, что для ячейки необходимо выбрать один из вариантов условия, при соответствии которому, к ячейке будет применён задаваемый стиль форматирования.
Для некоторых типов условий необходимо будет дополнительно задать значения в поле справа от выпадающего списка, о чём выдаётся соответствующее предупреждение "Введите значение!".
Количество условий для ячеек не ограничено. Можно задать одной ячейке условия на все возможные варианты вводимых данных.
На иллюстрации ниже привёден пример результата работы условного форматирования с тремя условиями для каждой ячейки: диапазон от 1 до 10 - красный, от 10 до 50 - жёлтый, свыше 50 - зелёный. Пример абсолютно абстрактный конечно же.
При изменении значения в любой ячейке соответственно изменится форматирование, если число будет относиться к иному заданному диапазону.
Точно так же можно задавать условие для текста, выбирая нужный тип условия в диалоге.
Стиль для форматирования ячейки можно выбрать из имеющихся, а можно создать свой, выбрав первый пункт в выпадающем списке "Применить стиль".

Цветовая шкала.
Этот вариант применим только к диапазону ячеек, поскольку оперирует некоторыми минимальными и максимальными значениями в ячейках диапазона. Поэтому при выборе этого варианта в диалоге Условное форматирование сразу выбрано "Все ячейки":
Доступно два типа цветовой шкалы: 3 значения и 2 значения. На иллюстрации ниже показаны примеры для трёх (красный, жёлтый, зелёный) и для двух (синий, красный) цветов.
Можно явно задать числовой диапазон, указав минимальное, среднее и максимальное значения для трёхцветовой шкалы или минимальное и максимальное для двухцветовой. А можно указать автоматическое определение минимального и максимального значения, выбрав это в выпадающих списках второй строки. Соответственно и цвета будут зависеть от введённых в ячейки диапазона значений. На иллюстрации выше числа выставлены по возрастанию просто для иллюстрации перехода от одного цвета к другому, однако, если числа будет стоять не в строгом порядке, цвета им будет назначаться корректно и отражать их положение относительно минимального или максимального значения в диапазоне. Просто нужно правильно интерпретировать эту цветовую градацию.

Гистограмма.
Этот вариант условного форматирования применим также только к диапазону ячеек. Отображает в каждой ячейке полоску длиной, соответствующей значению в ячейке.
Можно выбрать различные вариации для минимального и максимального значений из выпадающих списков: автоматическое или явное определение минимума и максимума, перцентиль, точное значение, процент или формулу. А также очень важные настройки скрываются под кнопкой "Ещё...":
При нажатии на эту кнопку появится дополнительный диалог "Гистограмма", в котором можно выбрать настройки минимума и максимума, цвета для полосок гистограммы, тип заливки градиент или сплошной цвет, расположение вертикальной оси в ячейке, цвет оси, а также задать максимальную и минимальную длину отображеня гистограммы в процентах от длины ячейки. Опция "Показать только полоску" будучи активированной, скроет значения в ячейках (см. иллюстрацию ниже).
На иллюстрации показаны два варианта гистограмм для одних и тех же числовых значений. Слева установлено автоматическое определение минимума и максимума, типа заливки градиент, длина полоски 100%. Справа - минимум и макисмум заданы вручную (но соответствуют значениям в ячейках), тип заливки - сплошной цвет, максимальная длина полоски ограничена 50%, активна опция "Показать только полоску" - числовые значения в ячейках не показываются, однако никуда не исчезли, на них можно ссылаться и использовать в формулах.

Набор пиктограмм (значков).
Помещает в каждую ячейку выбранный пользователем тип значка, своим видом зависящий от значения в ячейке. Внутри каждого типа существует разделение типа отрицательный, нейтральный, положительный, либо по наполненности от пустого до полного.
Такой тип условного форматирования работает также для некоего диапазона ячеек. В LibreOffice Calc есть достаточно большое разнообразие типов из 3, 4 и 5 значков:
Выбор количества и типа значков зависит от задачи по визуализации данных. 
ИМХО, 3 значка - это когда нужно показать что "всё плохо", "средне", "хорошо"; 4 значка - это когда "всё пропало и погибло", "всё плохо, но не смертельно", "не плохо", "всё хорошо"; 5 значков - "результат ноль", "есть что-то", "уже половину написал", "ещё чуть чуть осталось", "выполнили план!".
Для значков можно задать явные граничные значения, некий процент, который зависит от минимального и максимального значения в диапазоне, а также формулу.

Дата.
Этот вариант можно назначить каждой отдельной ячейке или каждой ячейке из диапазона. Есть некоторое количество условий по дате, обратите внимание на иллюстрацию ниже:
Выпадающий список можно пролистать, чтобы увидеть дополнительные варианты дат. При соответствии выбранному условию к ячейке будет применено форматирование стилем, выбранным в выпадающем списке "Применить стиль". Тут все аналогично типу условного форматирования "Условие".

среда, 22 марта 2017 г.

Пакетный экспорт документов в формат PDF, используя LibreOffice

Все действия выполнялись в ОС Windows. Наверняка для Linux есть какой-нибудь хороший способ, но мне на работе никто конфигурировать под корпоративные стандарты Linux не будет, поэтому в этой статье всё про Windows. 
Потребовалось мне по работе проводить экспорт кучи файлов в формате XSLX в формат PDF. Реально по 25 - 30 файлов за присест. И делать это надо было крайне в сжатые сроки. Пробовать всякие программулины было некогда и пришлось делать это вручную из MS Excel, благо 2010 версия это умеет. Хорошего в таком положении вещей мало, в будущем предвидится точно такие же авралы и я задумался, а какие вообще существуют способы.
Нашел я софт, который включал в себя LibreOffice, и вроде бы пакетный экспорт в PDF умел, однако он в бесплатной редакции ставит огромный рекламный блок себя на КАЖДОМ листе документа. Это не наш вариант.
Есть еще несколько подобных софтин, уже без всякого участия LibreOffice, однако либо они некорректно сам экспорт делали, то есть итоговый файл был кривой, либо пакетный экспорт был декларирован, но не работал.
Наверное можно (и нужно в будущем так и сделать) спросить у знающих Эксель товарищей, может быть есть возможность настроить пакетный экспорт, юзая сам MS Excel.
Ну, а я попросил помощи на нашем форуме http://forumooo.ru и Миша Каганский подсказал мне строку кода для консоли, которая вызывая LibreOffice в скрытом режиме выполняет искомый пакетный экспорт. Ну и в дальнейшем эта строка была оформлена в bat-файл и сам файл был переписан Мишей для того, чтобы можно было задать путь до исходных файлов и их тип, а также была прописана проверка наличия установленного в системе LibreOffice.
Вот собственно код:
@echo off

rem -------------------------------------------
rem in this file uses codepage cp866
rem -------------------------------------------
rem в этом файле используется кодировка cp866
rem -------------------------------------------

set /p "fileMask=Введите путь и маску для экспорта: "

rem ключ реестра для извлечения пути установки
rem HKEY_LOCAL_MACHINE\SOFTWARE\LibreOffice\UNO\InstallPath

setlocal ENABLEEXTENSIONS

call :QueryRegistry "HKEY_LOCAL_MACHINE\SOFTWARE\LibreOffice\UNO\InstallPath" ""

if not defined Value (
    call :QueryRegistry "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\LibreOffice\UNO\InstallPath" ""
)

echo Идет экспорт файлов в PDF, ждите
for %%f in ("%fileMask%") do start "dummyTitle" /wait "%Value%\soffice.exe" --convert-to pdf --outdir "." "%%f"
chcp 866 > nul
msg * Экспорт завершен

exit /B %ERRORLEVEL%

:: A function for querying registry value; return is in %Value%
:QueryRegistry
:: chcp 1252 makes REG QUERY to print its output in English. This makes the string look like:
::     (Default)    REG_SZ    C:\Program Files\LibreOffice 5\program
:: Without this, the string may (e.g. for Russian locale) look like:
::     (По умолчанию)    REG_SZ    C:\Program Files\LibreOffice 5\program
:: Notice the space in the (По умолчанию). This space makes additional token, and thus
:: the batch becomes non-portable.
set Value=
chcp 1252 > nul
for /F "usebackq tokens=2,*" %%A in (`REG QUERY %1 /v %2 2^>nul`) do (
    set Value=%%B
)
Вставьте его в текстовый файл, сохраните с расширением bat. Обратите внимание, что сохранить его необходимо в кодировке Cp866, иначе надписи на русском языке превратятся в крякозябры.
И ещё: файлы в формате PDF будут сохранены в то место, откуда был запущен bat-файл. Это настраивается в тексте "программы".
В конце экспорта будет показано отдельное окошко с текстом "Экспорт завершен" и кнопкой ОК. Я это сделал, чтобы видно было, что работа завершена.
Сам экспорт достаточно быстрый, однако очень сильно зависит от количества и размера файлов.
Также преимущество LibreOffice перед MS Office в данном случае в том, что LibreOffice намного всеяднее в плане поддержки кучи различных форматов файлов, а недостаток тот, что LibreOffice не совсем точно открывает файлы вражеского формата, особенно это видно, если страниц в документе много. Я увидел разницу 50 vs. 65 страниц - это бывает просто неприемлемо =(

суббота, 18 марта 2017 г.

LibreOffice 5.4. Развитие Риббона

В вики проекта увидел интересную штуку:
1. В реализацию ленточного интерфейса в LibreOffice добавили возможность добавлять свои значки на отдельную микропанельку, вот так это выглядит:
2. Добавлена поддержка тем оформления для риббона:
Заметьте, что это новшества для разных вариаций ленточного интерфейса в LibreOffice. Первая - это пародия на риббон из MS Office, причем достаточно явная, вторая - это видение разработчиков LibreOffice под названием Muffin. Темы доступны именно для Маффина и не работают для пародии на риббон.
Ещё хочу сказать, что первое впечатления от этой пары скриншотов - ещё ближе к внешнему виду MSO 2007 и более поздних. И как бы маркетологи TDF не отбрехивались, говоря, что у Либры свой путь, мое ИМХО такое: то, что делается в реализации нового видения ГУИ в Либре - это тупейшее копирование лент из стана MS Office. Я видео несколько довольно проработанных мокапов интерфейса Либры и с упрощением панелей инструментов и с развитием Боковой панели, которые реально изменили бы внешний вид Либры и повысили удобство работы, однако разработчики думают иначе.

четверг, 16 марта 2017 г.

Выпуск LibreOffice 5.3.1

Организация The Document Foundation представила первый корректирующий выпуск офисного пакета LibreOffice 5.3.1. Сборки подготовлены для различных дистрибутивов GNU/Linux, Windows и macOS.
Выпуск содержит только исправления ошибок и правки локализаций. Всем, кто использует LibreOffice версии 5.3 рекомендуется обновиться.
Списки исправлений:
https://wiki.documentfoundation.org/Releases/5.3.1/RC1
https://wiki.documentfoundation.org/Releases/5.3.1/RC2
Скачать дистрибутив для всех платформ можно вот тут: http://www.libreoffice.org/download/download/

среда, 15 марта 2017 г.

LibreOffice 5.4. Сводные диаграммы

Один из разработчиков LibreOffice, Tomaž Vajngerl, опубликовал в своем блоге пост о своей работе над созданием сводных диаграмм, которые визуализируют данные сводных таблиц. Причём при изменении данных в сводной таблице диаграмма автоматически обновляется. По ссылке https://www.youtube.com/watch?v=xRulORXWhP8 можно посмотреть, как это выглядит уже сейчас. На мой взгляд вполне завершённо и красиво. Обещано включение этой фичи в релиз LibreOffice 5.4.
Update: Tomaž опубликовал второй и третий пост о дальнейшей разработке сводных диаграмм. Также вот ссылка на финальное видео с тем, что получилось в итоге.

четверг, 2 марта 2017 г.

Странности с рендерингом изображений в текстовых документах LibreOffice

В последнее время обратил внимание, что втсавленные в текстовый документ картинки как-то странно выглядят, как будто им специально ухудшили качество. (Все картинки из статьи нужно смотреть щелкая по ним, чтобы было видно, о чем я говорю).
Вот пример:
Обратите внимание на текст внутри скриншота, вставленного в текст. Нет сглаживания и сам шрифт как будто пообкусывали.
Та же самая картинка, но уже после экспорта в пдф:
Разница есть, согласитесь. И еще это говорит о том, что это не картинка сама плохого качества, а что отображается она во Writer в плохом качестве. Зачем - это вопрос.
Вот увеличенная картинка:
Сразу оговорюсь, может эти многочисленные скриншоты со скриншотов и не передают всю глубину проблемы...
Вчера я внезапно обнаружил, что у меня включен OpenGL в портативной версии LibreOffice, в которой я работаю, и я его отключил. Картинки стали гладкие и прекрасные! На виндовс. Я порадовался, так как к багам со стороны OpenGL отношусь, как к неизбежному злу. Хорошего в них ничего нет, однако и сделать я ничего не могу (и разработчики тоже судя по всему, хотя и стараются изо всех сил).
И вишенка, тот же документ в ОС Linux в LibreOffice БЕЗ OpenGL:
OpenGL отключен, а проблема осталась =(
При этом мне намного больше нравится работать с документом в LibreOffice под Linux, как-то там все выглядит аккуратнее, и интерфейс и сам документ рендерятся корректно и красиво все.

PS: морали никакой не будет, если я соберусь с силами, то напишу багу в багзиллу, пусть даже это будет дубликатом.
PPS: Mike, если будешь писать комментарии, то пожалуйста озвучь причину такого поведения LibreOffice ;)

воскресенье, 12 февраля 2017 г.

Использование разделов в текстовом документе LibreOffice Writer

Что такое раздел в LibreOffice Writer? Это именованный текстовый блок,который позволяет защитить текст или часть текста от изменения, скрывать и показывать части текста, вставлять текст в несколько колонок внутри текста в одну колонку, использовать текст или объекты из других документов LibreOffice.
Два основных диалога, которые нужны для работы с разделами - это диалог Вставить раздел из меню Вставка - Раздел:
и диалог Редактирование разделов из меню Формат - Разделы:
Диалоги визуально немного похожи, однако первый служит для настройки вставляемого раздела, а второй для работы с уже существующими разделами.
Визуально в тексте документа раздел обрамлен серой непечатаемой рамкой:
При вставке раздела перед ни вставляется символ перевода строки, то есть раздел вставляется, как новый абзац. Не получится вставить раздел по середине слова или строки. 
Примечание: Учтите при этом, что если раздел скрыть, а знак перевода строки, который был создан при вставке раздела удалить, то раздел также будет удален.
Текст или объект внутри раздела можно форматировать точно так же, как основной текст или иные объекты документа, используя стили или ручное форматирование.
У меня была мысль применить эти разделы при работе с документами типа "договор", однако высянилась особенность, даже если раздел вставить в нумерованный список и задать тексту внутри него корректную нумерацию, то при скрытии раздела, нумерация не пересчитывается, а весь смысл работы с разделами в таком случае теряется.

четверг, 2 февраля 2017 г.

Внутренние изменения в LibreOffice 5.3

Michael Meeks опубликовал в своем блоге интересный пост по поводу изменений в LibreOffice 5.3, не видных простому пользователю, но важных для развития проекта. Это так называемые изменения "под капотом" LibreOffice. Итак:
Переведена очередная порция комментариев в коде с немецкого на английский. Немецкие комментарии в коде проекта есть со времен его основания, поскольку писать его начинали именно немцы. Однако огромное количество людей знает английский и только некоторые кодеры умеют в немецкий, поэтому перевод комментариев в коде на английский - это крайне важная задача. С выпуском LibreOffice 5.3 осталось всего-то 3700 комментариев на немецком языке из более, чем 50000.
Полгода назад, в LibreOffice 5.2, был добавлен автоматический сбор отчетов о крэшах программы с отправкой их на сервер разработчиков проекта. Это позволило выявить и оперативно исправить несколько критичных ошибок в версии 5.3. Еще одним следствием работы этого механизма стало обнаружение проблемы с ограничением Windows на 10000 GDI-объектов на один процесс, что приводит к самым неожиданным ошибкам LibreOffice в самых разных местах. К выходу версии 5.3.1 обещают эту проблему исправить (или обойти как-то).
Было написано около 300 новых юнит-тестов.
Был написан фреймворк для тестирования интерфейса пользователя, к нему есть документация, призванная помочь добавлять новые тесты.
Произведены множественные изменения в LibreOfficeKit API и в коде, отвечающем за работу он-лайн части LibreOffice.
Добавлен код для отслеживания проблем с использованием OpenGL и OpenCL в реальном времени.
Добавлен механизм для автоматического снятия скриншотов со всех диалогов LibreOffice, также его можно использовать в ручном режиме. Механизм этот помимо создания скриншотов также позволяет обновлять файл Справки в автоматическом режиме, вставляя туда вновь созданные скриншоты. Сделано это для облегчения труда команды документации, поскольку LibreOffice достаточно часто обновляется, а документация и Справка как всегда отстают по версиям от проекта.
Старый API для многопоточной работы osl::Condition был заменен на новый std::condition_variable, который позволяет писать более безопасный код. Также это позволило решить проблему с распаковкой некоторых файлов XLSX.
Проведена большая работа по улучшению поддержки gtk+3/Wayland в LibreOffice.
Идёт работа по улучшению внутреннего механизма работы со столбцами в Calc. Раньше на каждый лист выделялся сразу фиксированный набор столбцов (структура значительного размера), в которой сразу были заготовки на все возможные столбцы. Это, например, не позволяет увеличить число столбцов. Теперь используется динамическая структура, в которой по мере надобности добавляются данные для новых нужных столбцов. Это первый необходимый шаг для большего числа столбцов, который также даёт оптимизацию в использовании памяти.
Обновлено большое количество встраиваемых в LibreOffice библиотек.
Исправлено более 80 ошибок, связанных с форматами DOC, DOCX и прочими.
Проведена чистка кода LibreOffice для Android.