Posted
over 3 years
ago
by
Mike Saunders
LibreOffice is developed by a worldwide community, made up of volunteers, certified developers and companies in the wider ecosystem. Today we’re talking to Thorsten Behrens, who serves on The Document Foundation’s Board of Directors and works for
... [More]
allotropia… Tell us a bit about yourself! I’m Thorsten Behrens, living in Hamburg, Germany. With a great team […] [Less]
|
Posted
over 3 years
ago
by
Hossein Nourikhah
Do you want to write a program that uses LibreOffice to convert different formats, or otherwise work with LibreOffice from another process? A solution would be using LibreOffice SDK.
In order to use the SDK with a binary installation of LibreOffice
... [More]
, you have to install it first from the “SDK and Source code” section of the LibreOffice download page. Otherwise, if you are building LibreOffice from the source, you have to use --enable-odk in order to be able to use SDK.
There are many examples shipped with the LibreOffice SDK, that are good to understand the SDK and get an idea of it:
https://api.libreoffice.org/examples/examples.html
In order to use the SDK with a binary installation, do these steps: First, go to the SDK directory, then set environment variables, and then go the directory of the specific example, run make, and then appropriate make run.
$ cd /opt/libreoffice7.2/sdk/
$ ./setsdkenv_unix
************************************************************************
*
* SDK environment is prepared for Linux
*
* SDK = /opt/libreoffice7.2/sdk
* Office = /opt/libreoffice7.2/sdk/..
* Make = /usr/bin
* Zip = /usr/bin
* cat = /usr/bin
* sed = /usr/bin
* C++ Compiler = /usr/bin
* Java = /usr
* SDK Output directory = /home/hossein/libreoffice7.2_sdk
* Auto deployment = YES
*
************************************************************************
$ cd examples/DevelopersGuide/OfficeDev
$ make
...
----------------------------------------------------------------------------
Please use the following commands to execute the examples!
make ContextMenuInterceptor.run
make Number_Formats.run
----------------------------------------------------------------------------
Then you should invoke the appropriate make run command. For example, make ContextMenuInterceptor.run.
When building from the source, you have to go to the instdir/sdk folder, and to the same things.
More information about ContextMenuInterceptor can be found in the OpenOffice Developers’ Guide and in “Intercepting Context Menus” section.
It is also possible to run the examples using modern build tools like cmake and qmake. If you are interested in these build tools, you should see this presentation:
Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.
YouTube privacy policy
If you accept this notice, your choice will be saved and the page will refresh.
Accept YouTube Content
Presentation: LibreOffice SDK Examples Overhaul – Hossein Nourikhah
This talk was recorded presented in the LibreOffice Conference 2021 (LibOCon 2021)
Slides
sdk-examples Read the rest
[Less]
|
Posted
over 3 years
ago
by
Hossein Nourikhah
Do you want to write a program that uses LibreOffice to convert different formats, or otherwise work with LibreOffice from another process? A solution would be using LibreOffice SDK.
In order to use the SDK with a binary installation of LibreOffice
... [More]
, you have to install it first from the “SDK and Source code” section of the LibreOffice download page. Otherwise, if you are building LibreOffice from the source, you have to use --enable-odk in order to be able to use SDK.
There are many examples in the SDK, that are good to understand and get an idea of it:
https://api.libreoffice.org/examples/examples.html
In order to use the SDK with a binary installation, do these steps: First, go to the SDK directory, then set environment variables, and then go the directory of the specific example, run make, and then appropriate make run.
$ cd /opt/libreoffice7.2/sdk/
$ ./setsdkenv_unix
************************************************************************
*
* SDK environment is prepared for Linux
*
* SDK = /opt/libreoffice7.2/sdk
* Office = /opt/libreoffice7.2/sdk/..
* Make = /usr/bin
* Zip = /usr/bin
* cat = /usr/bin
* sed = /usr/bin
* C++ Compiler = /usr/bin
* Java = /usr
* SDK Output directory = /home/hossein/libreoffice7.2_sdk
* Auto deployment = YES
*
************************************************************************
$ cd examples/DevelopersGuide/OfficeDev
$ make
...
----------------------------------------------------------------------------
Please use the following commands to execute the examples!
make ContextMenuInterceptor.run
make Number_Formats.run
----------------------------------------------------------------------------
Then you should invoke the appropriate make run command. For example, make ContextMenuInterceptor.run.
When building from the source, you have to go to the instdir/sdk folder, and to the same things.
More information about ContextMenuInterceptor can be found in the OpenOffice Developers’ Guide and in “Intercepting Context Menus” section.
Make sure that you look at the examples that are available in the sdk/examples folder of the LibreOffice installation. Examples are in different languages, including Java, C++, Python, BASIC, C# and VB.NET.
It is also possible to run the examples using modern build tools like cmake and qmake. If you prefer these build tools, you should see this presentation:
Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.
YouTube privacy policy
If you accept this notice, your choice will be saved and the page will refresh.
Accept YouTube Content
Presentation: LibreOffice SDK Examples Overhaul – Hossein Nourikhah
This talk was recorded presented in the LibreOffice Conference 2021 (LibOCon 2021)
Slides
sdk-examples Read the rest
[Less]
|
Posted
over 3 years
ago
by
Mike Saunders
One week ago, we announced LibreOffice 7.3, our brand new major release. It’s packed with new features, and has many improvements to compatibility and performance too. So, what has happened in the week since then? Let’s check out some stats… 675,567 downloads These are just stats for our official downloads page, of course – many […]
|
Posted
over 3 years
ago
by
rizmut
|
Posted
over 3 years
ago
by
x1sc0
General Activities
LibreOffice 7.2.5 was released on January 6
The European Commission’s Open Source Programme Office started a bug bounty programme for LibreOffice
Alain Romedenne improved the Help content for Basic functions
Olivier Hallot (TDF)
... [More]
finished documenting non-ODFF Calc functions, added Help pages for Style Inspector (with contributions from Jean Weber and Shivam Kumar) and PostgreSQL connection, started working on a page for Calc’s Data Stream feature and improved help for Calc Add-in function for Dates and Pricing
Rafael Lima made numerous improvements to Help content, including adding pages for Navigator’s Rename Object dialog, document color command in Math and Find toolbar. He also added DevTools to the Tabbed interface and improved the Manage Changes dialog
Stanislav Horáček improved the ScriptForge library Help content
Ilmari Lauhakangas (TDF) added a global module to the Help navigation
Seth Chaiklin updated the help page for Template Manager after UI changes
Miklos Vajna (Collabora) improved the fidelity of exporting documents to PDF, also making command line export more powerful, improved the painting of borders in Word-style tables, fixed missing custom bullets in SVG export, improved the handling of tables in DOCX files and shapes in RTF files. He also continued working on support for colour themes in OOXML documents, adding Help content related to the feature.
Jan-Marek Glogowski (allotropia) merged the WebAssembly port from a feature branch to master. He also continued improving makefiles, improved the Qt UI and made it possible to build LibreOffice statically
Jussi Pakkanen continued exploring building LibreOffice with Meson
Roland Kurmann fixed Calc’s INFO(“OSVERSION”) output on Linux
Bubli fixed missing highlighting in Template Manager
Samuel Mehrbrodt (allotropia) made Calc sheet copying more robust in case of database ranges
Dennis Francis (Collabora) worked on RTL support for LOKit
Lai Verne (OSS Integral Institute) improved the UI of Auto-Redact tool
Szymon Kłos (Collabora) worked on RTL support for LOKit and made more dialogs async
Armin Le Grand (allotropia) worked on the WebAssembly port and fixed a couple of regressions
Jeff Huang (OSS Integral Institute) improved the UI of Image toolbar
Andreas Kainz improved the layout of Sidebar’s Alignment section
Eike Rathke (Red Hat) added Pennsylvania Dutch (pdc-US) to language list and as a locale, reintroduced approximate summation after Kahan algorithm changed the behaviour, fixed a database query issue caused by Base relying on hardcoded internal index IDs, fixed Calc cell contents getting messed up with very long paragraphs as well as issues with unwanted jumping with keyboard selection in Calc and incorrect automatic labels
Jean-Pierre Ledure worked on the ScriptForge library and improved the script for generating the Development/DispatchCommands wiki page
Heiko Tietze (TDF) implemented a redesign of font name and effects pages and made several other UI improvements
Xisco Faulí (TDF) made nearly forty additions and improvements to automated tests
Hossein Nourikhah (TDF) made it so a warning for missing hyphenation data will not be displayed in case of languages that do not use hyphenation
Andreas Heinisch improved VBA compatibility of Chr and ChrW Basic functions and made handling of charsets more robust with concordance files
Luboš Luňák (Collabora) improved the performance of documents with complex graphical objects, added support for WebP image format and improved the Skia graphics engine integration
Gábor Kelemen (allotropia) dropped the confirmation question when applying new doc hyperlink and fixed URL encoding when querying extensions. He also made many code cleanups
Andras Timar (Collabora) added support for WinBMPv3-NT version of BMP files found in Visio files and changed rpm compression algorithm to multi threaded xz
Vasily Melenchuk (CIB) fixed losing color filter condition in XLSX files
Michael Stahl (allotropia) fixed a problem with changing section footnote/endnote position, fixed a crash when updating table of contents and some regressions. He also polished the Curl-based WebDAV implementation
Michael Weghorn improved screenreader performance on Windows and made other Windows accessibility improvements. He also improved the robustness of the Qt file picker
Dhiraj Holden added all subtotal functions to Calc’s autosum and fixed a problem with flipped shapes
Justin Luth (Collabora/SIL) made it so the actual character spacing is shown as selected in Sidebar’s popup menu and fixed unwanted footnotes in DOCX export. He also fixed several regressions
Sarper Akdemir (Collabora) made Z rotation work with rotation transform in imported PPTX files
Chris Sherlock continued VCL refactoring work and fixed VCL demos crashing on shutdown
Julien Nabet made numerous improvements to Mysql/MariaDB and Firebird database functionality
Michael Meeks (Collabora) improved the performance of LOKit
Jim Raykowski made many improvements to Navigator, including better sorting of elements. He also fixed Find and Replace dialog changing position when reopening on Linux with gtk3
Tor Lillqvist (Collabora) fixed XHTML export duplicating text in list item and an issue with shapes anchored to table cells in Writer. He also made it possible to paste PDFs into Impress
Attila Bakos (NISZ) continued working on support for text in grouped shapes
Tibor Nagy (NISZ) fixed a problem with master objects visible property in PPTX import and export
Tünde Tóth (NISZ) fixed losing caption shapes in OOXML export and losing outline character formatting in PPTX export
László Németh made several improvements to change tracking of tables
Kevin Suo fixed a first line indent issue with Chinese text
Thorsten Behrens (allotropia) added a minimal dummy WebAssembly UNO bridge and improved the build time for packaging install sets
Stephan Bergmann (Red Hat) made many code and build-related cleanups as well as test fixes
Mike Kaganski (Collabora) fixed the alignment of checkmarks and icons in menus, inserting hyperlinks with ports, improved the speed of Basic’s Replace function and fixed some crashes and hangs. He also made many code cleanups and optimisations
Arnaud Versini made some code cleanups
Caolán McNamara (Red Hat) continued with text kerning improvements and made it so printer metrics are saved to DOCX. He also fixed many crashes and UI issues and continued working on the new gtk4 UI backend
Noel Grandin (Collabora) started working on a renovation of chart code with improved performance being the main goal. He also made many code cleanups and optimisations
Tomaž Vajngerl (Collabora) continued vcl refactoring work and improved VBA macro compatibility
Kudos to Ilmari Lauhakangas for helping to elaborate this list.
Reported Bugs
576 bugs, 70 of which are enhancements, have been reported by 352 people.
Top 10 Reporters
Telesto ( 49 )
Gabor Kelemen (allotropia) ( 13 )
Kevin Suo ( 12 )
Xisco Faulí ( 11 )
Mike Kaganski ( 10 )
sdc.blanco ( 9 )
Regina Henschel ( 6 )
Colin ( 6 )
NISZ LibreOffice Team ( 6 )
Albrecht Müller ( 6 )
Triaged Bugs
512 bugs have been triaged by 88 people.
Top 10 Triagers
Timur ( 60 )
raal ( 44 )
Buovjaga ( 44 )
Heiko Tietze ( 36 )
Dieter ( 36 )
Xisco Faulí ( 26 )
m.a.riosv ( 21 )
Julien Nabet ( 20 )
Telesto ( 18 )
Mike Kaganski ( 13 )
Resolution of resolved bugs
517 bugs have been set to RESOLVED.
Check the following sections for more information about bugs resolved as FIXED, WORKSFORME and DUPLICATE.
Fixed Bugs
167 bugs have been fixed by 43 people.
Top 10 Fixers
Caolán McNamara ( 23 )
Noel Grandin ( 9 )
Olivier Hallot ( 6 )
László Németh ( 6 )
Eike Rathke ( 6 )
Heiko Tietze ( 5 )
Julien Nabet ( 5 )
Mike Kaganski ( 5 )
Andreas Heinisch ( 4 )
Gabor Kelemen ( 4 )
List of critical bugs fixed
tdf#145321 Crash swlo!SwDrawTextInfo::GetSperren+1069 scrolling DOCX to bottom ( Thanks to Noel Grandin )
List of high severity bugs fixed
tdf#146367 SUM() does not use approx summation anymore since Kahan summation is used ( Thanks to Eike Rathke )
tdf#146402 LibreOffice aborts when starting with an empty profile (Windows + probably AMD GPU) ( Thanks to Luboš Luňák )
tdf#146571 Crash when close Manage changes dialog ( Thanks to Caolán McNamara )
tdf#146757 Embedded Firebird ignores parameterized query input ( Thanks to Eike Rathke )
tdf#146876 FILEOPEN PPTX: various graphical elements misplaced at position (0,0) ( Thanks to Noel Grandin )
tdf#146991 Insert chart -> crash (gtk3) ( Thanks to Noel Grandin )
tdf#66039 FILEOPEN: table in DOCX text box is not imported – add groupshape support ( Thanks to Attila Bakos (NISZ) )
List of crashes fixed
tdf#145321 Crash swlo!SwDrawTextInfo::GetSperren+1069 scrolling DOCX to bottom ( Thanks to Noel Grandin )
tdf#146285 Crash mergedlo!SfxItemPool::PutImpl+0x1a7: ( Thanks to Caolán McNamara )
tdf#146432 LibreOffice Base crashes when a mysql query with REGEXP_REPLACE() is executed in query editor with direct connection to MariaDB ( Thanks to Julien Nabet )
tdf#146499 Crash to desktop when activating presentation mode (unsatisfied query for interface of type com.sun.star.lang.XUnoTunnel!) ( Thanks to Noel Grandin )
tdf#146571 Crash when close Manage changes dialog ( Thanks to Caolán McNamara )
tdf#146617 Calc crashes when stopping XEnhancedMouseClickHandler listener from event handling macro. ( Thanks to Mike Kaganski )
tdf#146747 Crash mergedlo!SfxItemPool::PutImpl+0x1a7: ( Thanks to Caolán McNamara )
tdf#146891 Crash (assert) when opening the paragraph properties from an outline ( Thanks to Caolán McNamara )
tdf#146941 Crash with debug build when changing paths in options (kf5) ( Thanks to Michael Weghorn )
tdf#146967 FILEEDIT ODT Crash: Redo of tracked table row moving ( Thanks to László Németh )
tdf#146970 CRASH: Pasting content from edit mode ( Thanks to Caolán McNamara )
tdf#146991 Insert chart -> crash (gtk3) ( Thanks to Noel Grandin )
List of performance issues fixed
tdf#146306 Sluggishness with NVDA and Calc ( Thanks to Michael Weghorn )
List of old bugs ( more than 4 years old ) fixed
tdf#106899 Unicode Index Entries that are not English is ignored. ( Thanks to Andreas Heinisch )
tdf#108910 Concordance file for indexes breaks UTF-8 and turns the characters into ASCII ( Thanks to Andreas Heinisch )
tdf#115566 Custom bullet (-) in presentation not exported into SVG ( Thanks to Miklos Vajna )
tdf#66039 FILEOPEN: table in DOCX text box is not imported – add groupshape support ( Thanks to Attila Bakos (NISZ) )
tdf#67026 [LOCALHELP] Limitations in Calc precision need to be documented ( Thanks to Olivier Hallot )
tdf#68341 pilot class for MySQL should ignore spaces at begining and and of the class name ( Thanks to Julien Nabet )
tdf#83523 UI: Ruler background only changes according to application background setting *after* closing and restarting writer ( Thanks to Justin Luth )
tdf#94537 com.microsoft.foo functions are not correctly documented to the user. ( Thanks to Olivier Hallot )
tdf#97046 ensure build system variables start with gb_ unless there are very, very good reasons not to ( Thanks to Arjun )
WORKSFORME bugs
78 bugs have been retested by 30 people.
Top 10 testers
Buovjaga ( 13 )
Telesto ( 11 )
Timur ( 9 )
Xisco Faulí ( 5 )
Heiko Tietze ( 4 )
Robert Großkopf ( 3 )
Julien Nabet ( 3 )
Dieter ( 3 )
Adolfo Jayme ( 3 )
Olivier Hallot ( 2 )
DUPLICATED bugs
128 bugs have been duplicated by 37 people.
Top 10 testers
Timur ( 15 )
Xisco Faulí ( 11 )
Heiko Tietze ( 10 )
Telesto ( 8 )
raal ( 7 )
Gabor Kelemen (allotropia) ( 6 )
V Stuart Foote ( 6 )
Roman Kuznetsov ( 5 )
Julien Nabet ( 5 )
Attila Bakos (NISZ) ( 5 )
Verified bug fixes
71 bugs have been verified by 15 people.
Top 10 Verifiers
stragu ( 13 )
BogdanB ( 12 )
Xisco Faulí ( 11 )
NISZ LibreOffice Team ( 10 )
Buovjaga ( 5 )
Dieter ( 4 )
Julien Nabet ( 4 )
Timur ( 3 )
Kevin Suo ( 2 )
Gerald Pfeifer ( 2 )
Categorized Bugs
229 bugs have been categorized with a metabug by 35 people.
Top 10 Categorizers
Dieter ( 36 )
Heiko Tietze ( 25 )
stragu ( 18 )
Roman Kuznetsov ( 17 )
sdc.blanco ( 16 )
V Stuart Foote ( 12 )
Buovjaga ( 10 )
BogdanB ( 10 )
Aron Budea ( 8 )…
[Less]
|
Posted
over 3 years
ago
by
Miklos Vajna
The LibreOffice Technology now has much better support for creating custom PDF exports of documents:
options available in the interactive PDF export options dialog are now also possible to set from the
command-line, and also when using the document
... [More]
conversion feature of
Collabora Online.
Motivation
I was working on a regression that only happens if you export the second and third pages of a
document to PDF. While investigating, I needed a quick way to trigger the problematic code-path, and
clicking through a dialog is not convenient.
Figure 1. UI to specify a partial export to PDF
The PDF export in LibreOffice has a lot of options, but those are only available from extension code
(using the UNO API) or from the UI dialog. The idea was to expose much of this to the soffice
--convert-to command as well, and if we’re at it, also to the /cool/convert-to endpoint of
Online.
Results so far
Here are a few examples to show the possibilities:
Skip the first page of a Draw document:
soffice --convert-to 'pdf:draw_pdf_Export:{"PageRange":{"type":"string","value":"2-"}}' test.odg
Add watermark:
soffice --convert-to 'pdf:draw_pdf_Export:{"TiledWatermark":{"type":"string","value":"draft"}}' test.odg
Encrypt the output:
soffice --convert-to 'pdf:draw_pdf_Export:{"EncryptFile":{"type":"boolean","value":"true"},"DocumentOpenPassword":{"type":"string","value":"secret"}}' test.odg
We default to PDF 1.6, perhaps you want to write PDF 1.5:
soffice --convert-to 'pdf:draw_pdf_Export:{"SelectPdfVersion":{"type":"long","value":"15"}}' test.odg
Sign the PDF:
soffice --convert-to 'pdf:draw_pdf_Export:{"SignPDF":{"type":"boolean","value":"true"},"SignCertificateSubjectName":{"type":"string","value":"CN=..."}}' test.odg
And the best is that the same also works in Online, e.g.:
curl -k -F "[email protected]" -F "format=pdf" -F "options={\"PageRange\":{\"type\":\"string\",\"value\":\"2-\"}}" https://localhost:9980/cool/convert-to > out.pdf
How is this implemented?
If you would like to know a bit more about how this works, continue reading… :-)
https://gerrit.libreoffice.org/c/core/+/128643 tdf#141340 PDF export: fix hyperlinks on the wrong
page with page num range was the use-case that initially motivated to add the feature.
https://gerrit.libreoffice.org/c/core/+/128709 comphelper: move JsonToPropertyValues() from
desktop/ was grounding work to use the "convert JSON to a string-any map" functionality we
already had in core.git, as part of the LOK API.
https://gerrit.libreoffice.org/c/core/+/128849 PDF export: allow setting filter data keys from
the cmdline is the actual improvement to the PDF exporter
https://gerrit.libreoffice.org/c/core/+/128970 desktop lok, export options: allow passing through
a JSON string as-is is a tweak to let the LOK API also use this
https://gerrit.libreoffice.org/c/core/+/129387 filter: allow PDF export to sign from the cmdline
added the PDF signing as a string option, since referring to a certificate object from the command-line
was not possible
https://github.com/CollaboraOnline/online/pull/4069 wsd, convert-to: allow specifying filter
options as JSON implemented the Online side
Want to start using this?
You can get a snapshot / demo of Collabora Office and try it out yourself right now:
try unstable snapshot. Collabora
intends to continue supporting and contributing to LibreOffice, the code is merged so we expect all
of this work will be available in TDF’s next release too (7.4).
For the Online side, see the CODE page, the feature is
present in the current release (2021).
[Less]
|
Posted
over 3 years
ago
by
mst43
Thanks to a tender by The Document Foundation, we have been able to implement a new and much improved curl-based HTTP/WebDAV UCP for LibreOffice 7.3. This is the technology that sits under almost every public network file access LibreOffice can do
... [More]
, like loading and saving from a NextCloud instance, or working on a file sittingContinue reading "Improving LibreOffice’s network file access"
[Less]
|
Posted
over 3 years
ago
by
Mike Saunders
LibreOffice is developed by a worldwide community, made up of volunteers, certified developers and companies in the wider ecosystem. Today we’re talking to Caolán McNamara, a long-time LibreOffice developer who works for Red Hat… Tell us a bit about yourself! I’m a Principal Engineer at Red Hat, Inc. on the Desktop Team since 2004! And […]
|
Posted
over 3 years
ago
by
Italo Vignoli
You can access and download Svante Schubert’s slides about “News from the ODF Toolkit” which was supposed to be features during FOSDEM 2022 but for some reason didn’t work out. Download Link:
|