Vue normale

Reçu aujourd’hui — 14 novembre 2025The Document Foundation Blog
  • ✇The Document Foundation Blog
  • The role of ODF in digital sovereignty (digital freedom)
    Digital sovereignty, or the ability of nations, organisations and individuals to control their own digital destiny, is a fundamental issue of the 21st century. At the heart of this challenge lies a seemingly trivial question: who controls the format of the documents that contain our intellectual property or personal information? In this context, the standard and open Open Document Format (ODF) – the native format of LibreOffice documents, also supported by other suites – is the fundamental techn
     

The role of ODF in digital sovereignty (digital freedom)

14 novembre 2025 à 07:25

Digital sovereignty, or the ability of nations, organisations and individuals to control their own digital destiny, is a fundamental issue of the 21st century. At the heart of this challenge lies a seemingly trivial question: who controls the format of the documents that contain our intellectual property or personal information?

In this context, the standard and open Open Document Format (ODF) – the native format of LibreOffice documents, also supported by other suites – is the fundamental technology for those seeking true digital independence.

Digital sovereignty includes the ability to control access to one’s own information without depending on third parties, to make independent technological choices based on one’s own needs, to ensure independent access to strategic data without depending on the commercial interests of Big Tech, and to maintain this technological self-determination in the face of market consolidation.

When government agencies, businesses, or citizens store their documents in proprietary formats controlled by Big Tech, they surrender part of their sovereignty and depend on these external entities to access their own information.

Why document formats are important for sovereignty

Document formats are infrastructure, which—like roads, power grids, or telecommunications networks—are fundamental to the functioning of modern societies. Consider what happens when strategic documents exist only in formats controlled by a single vendor:

  • Vendor Lock-In: Organisations find themselves trapped, unable to switch to alternative software without costly conversion processes and potential data loss.
  • Loss of Control: formats can and do change without notice and beyond the control of users, increasing the effect of vendor lock-in.
  • Fragility of Access: if the vendor controlling the format changes the format or discontinues support, as was the case with Windows 10, access to documents becomes problematic or impossible.
  • Economic Dependency: The cost of the licence required to perform software updates creates a relationship of economic dependency in order to access one’s own data, and effectively transfers ownership of the data to the vendor that controls the format.

Why ODF is the only tool for digital sovereignty

ODF is governed by OASIS, an international standardisation organisation that protects its transparent development, and is published as ISO/IEC 26300-2015 (and soon ISO/IEC 26300-2025). Unlike proprietary formats, ODF specifications are public and can be freely implemented, are developed through a transparent, multi-stakeholder process, are not controlled by a single government or company, and are subject to international standardisation bodies.

This means that governments and companies can participate in defining the format specifications, rather than being forced to passively accept changes imposed by a single vendor based on its commercial strategies.

Thus, ODF specifications allow anyone to create an office suite that natively supports the format and promotes digital sovereignty, without any authorisation, licence fees or fear of legal action, while supporting the local software industry.

ODF enables true interoperability, not only between different software packages, but also between countries, languages and political systems. A document created in Brazil can be opened and edited in India, Germany or Japan using locally developed software. This breaks down digital barriers and enables the creation of diverse, independent technology ecosystems.

A stack for digital sovereignty

Digital sovereignty requires a multi-layered infrastructure, starting with the ODF open standard format to ensure format independence, moving on to an open source office suite such as LibreOffice to have control over the tool, an open source cloud infrastructure such as Nextcloud to have control over the location of the data, and ending with a legislative framework that defines the requirements for sovereignty.

ODF is at the base of the stack because without an open standard for document format, digital sovereignty is still limited, even with elements such as a law favouring open source software, an open source cloud infrastructure, and an open source office suite.

Challenges for adopting the ODF format

Adopting the open standard ODF format for digital sovereignty is not without its challenges, for several reasons:

  • Migration from proprietary formats requires planning, training and, in many cases, managing interoperability issues due to unnecessary complexities artificially built into the proprietary format.
  • When stakeholders in the organisation continue to use the proprietary format, exchanging documents in ODF format can create interoperability issues, as office suites that do not use ODF as their native format have problems handling ODF files appropriately.
  • Implementing policies focused on digital sovereignty requires a clear commitment from management, which must prioritise long-term independence over short-term convenience.

However, all of these challenges can be managed and tend to diminish over time, while the constraints and costs of dependence on proprietary formats become increasingly severe.

Reçu hier — 13 novembre 2025The Document Foundation Blog
  • ✇The Document Foundation Blog
  • Announcement of LibreOffice 25.8.3
    Berlin, 13 November 2025 – LibreOffice 25.8.3, the third minor release of the free, volunteer-supported office suite for personal productivity in office environments, for Windows, MacOS and Linux, is now available at www.libreoffice.org/download. The new version fixes 70 issues compared to the previous release, which came out in October [1]. LibreOffice 25.8.3 is based on the LibreOffice Technology, which enables the development of desktop, mobile and cloud versions – either from TDF or from th
     

Announcement of LibreOffice 25.8.3

13 novembre 2025 à 08:21

LibreOffice 25.8.3 banner

Berlin, 13 November 2025 – LibreOffice 25.8.3, the third minor release of the free, volunteer-supported office suite for personal productivity in office environments, for Windows, MacOS and Linux, is now available at www.libreoffice.org/download. The new version fixes 70 issues compared to the previous release, which came out in October [1].

LibreOffice 25.8.3 is based on the LibreOffice Technology, which enables the development of desktop, mobile and cloud versions – either from TDF or from the ecosystem – that fully supports the two document format standards: the open ODF or Open Document Format (ODT, ODS and ODP), and the closed and proprietary Microsoft OOXML (DOCX, XLSX and PPTX). Products based on the LibreOffice Technology are available for all major desktop operating systems (Windows, macOS, Linux and ChromeOS), mobile platforms (Android and iOS) and the cloud.

For enterprise-class deployments, TDF recommends the LibreOffice Enterprise optimized versions from ecosystem companies, with dedicated value-added features and other benefits such as SLAs and security patch backports for three to five years (www.libreoffice.org/download/libreoffice-in-business/).

English manuals for the LibreOffice 25.8 family are available for download at https://books.libreoffice.org/en/. End users can get first-level technical support from volunteers on user mailing lists and Ask LibreOffice website: ask.libreoffice.org.

Downloading LibreOffice

All available versions of LibreOffice for the desktop can be downloaded from the same website: www.libreoffice.org/download/. To improve the interoperability with Microsoft 365, we suggest installing the Microsoft Aptos font from this web page: learn.microsoft.com/en-us/typography/font-list/aptos.

LibreOffice enterprise and individual users can support The Document Foundation and the LibreOffice project by making a donation: www.libreoffice.org/donate.

[1] Fixes in RC1: wiki.documentfoundation.org/Releases/25.8.3/RC1. Fixes in RC2: wiki.documentfoundation.org/Releases/25.8.3/RC2.

Reçu avant avant-hierThe Document Foundation Blog
  • ✇The Document Foundation Blog
  • Update about Font Replacement
    Last Saturday, November 8, I have managed a workshop at SFScon on Font management for document interoperability in LibreOffice. The workshop aimed to demonstrate how to configure and manage the LibreOffice font replacement feature, one of the key elements of document interoperability. Although font replacement on the fly is a long-standing LibreOffice feature, it is rather unknown and must be configured and managed properly in order to substitute proprietary fonts, which are standard on Windows
     

Update about Font Replacement

12 novembre 2025 à 09:01

Last Saturday, November 8, I have managed a workshop at SFScon on Font management for document interoperability in LibreOffice. The workshop aimed to demonstrate how to configure and manage the LibreOffice font replacement feature, one of the key elements of document interoperability. Although font replacement on the fly is a long-standing LibreOffice feature, it is rather unknown and must be configured and managed properly in order to substitute proprietary fonts, which are standard on Windows and macOS and have been used as a lock-in tool for years, with metrically compatible free fonts.

In September 2020, I wrote the blog post LibreOffice Tips & Tricks: Replacing Microsoft Fonts, which explained how to create a Font Replacement Table (available in Tools > Options > LibreOffice > Fonts) to instantly replace Microsoft’s proprietary fonts with metrically equivalent free fonts, available from Google Fonts and other websites. However, I recommend using Google Fonts for legal compliance, as they provide the font, licence and all other documents from the font designer. This post prompted several responses and inspired Jean-François Nifenecker, a volunteer contributor, to develop the FontsSubstTableExporter extension, which creates an extension embedding the font’s replacement table for easy duplication or backup, as well as the resulting FontSubstTable, which sets the font’s substitution table values.

During the webinar, I used a short LibreOffice Impress presentation to help the audience follow my talk more easily:

SFScon Font Management 2025 Download the Slide Deck

 

I opened the webinar by showing the 2020 blog post and its associated font replacement table. I then presented the updated table, as Spartan — one of the free fonts — has evolved into League Spartan. I also explained how the situation has changed radically since 2020, as Microsoft has deprecated ClearType fonts (Calibri, Candida, Candara, Consolas, Constantia, Corbel and Segoe for Western languages) and now uses Aptos as the default font for Western languages. Although Aptos is Microsoft proprietary, it has a weaker licence which only prohibits redistribution. As such, it can be downloaded and installed by all users (including Linux users) provided the download is from the official Microsoft Aptos Page.

I also announced that, ideally before the release of LibreOffice 26.2 in February 2026, I will update the FontSubstTable extension to include all Microsoft proprietary fonts with restrictive licences. These are fonts that require replacement as they cannot be installed by Linux users or those without a Microsoft Windows or Microsoft 365 licence. I will also try to generate additional FontSubstTable extensions for the most commonly used fonts in DOCX, XLSX and PPTX files. Thanks to AI, I now have access to a list of these fonts in just a few seconds, which would have taken me weeks to compile manually. These extensions will be available for general use and for specific verticals, such as visual design.

  • ✇The Document Foundation Blog
  • Long-term archiving with ODF: a future-proof strategy
    Digital documents in proprietary formats often become inaccessible within a few years due to undocumented changes to the XML schema that are intentionally employed for lock-in purposes. To avoid this problem, it is advisable to use the Open Document Format (ODF) not only for everyday tasks, but also for long-term storage. This ensures that documents remain accessible for years or even generations. Without this approach, government documents, academic research, legal documents and corporate archi
     

Long-term archiving with ODF: a future-proof strategy

7 novembre 2025 à 02:00

Digital documents in proprietary formats often become inaccessible within a few years due to undocumented changes to the XML schema that are intentionally employed for lock-in purposes. To avoid this problem, it is advisable to use the Open Document Format (ODF) not only for everyday tasks, but also for long-term storage. This ensures that documents remain accessible for years or even generations.

Without this approach, government documents, academic research, legal documents and corporate archives risk becoming true digital orphans — files that exist, but cannot be read. This is not so much because the software that created them is obsolete, but because the XML schema has been modified to make the files readable by a specific version of a single software program. However, the layering of changes makes them unreadable by any software in the long term.

Why is ODF suitable for archiving?

ODF (ISO/IEC 26300 and subsequent versions) is an open standard, managed transparently by OASIS. Its development process and specifications are documented and publicly accessible, unlike proprietary formats, where the process is undocumented and the ISO/IEC specifications do not reflect the reality of the format. This means that even if the current software disappeared, developers could create new programmes compatible with the standard to handle the files and access their content.

Furthermore, ODF files are compressed archives (ZIP) containing XML files based on a schema that can be easily read by non-technical users, enabling anyone to extract and interpret the content. This transparency of format is a fundamental element of its archival value. In contrast, the XML schema of proprietary files is intentionally designed to be unreadable. In this sense, it is a perfect example of how a language created for simplification, such as XML, can become a subtle lock-in tool if used contrary to its nature.

Finally, ODF maintains strong backwards compatibility between versions. This means that all files created with ODF 1.0 in 2005 — immediately after standardisation by OASIS — can be opened without issue by applications released in 2025. This stability is intentional; the format was designed with long-term preservation in mind.

Best practices for archiving in the ODF format

Although newer versions add functionality, the best option for long-term archiving is to use a version recognised by ISO/IEC, such as ODF 1.2 (ISO/IEC 26300-1:2015) or, in the near future, ODF 1.3 (ISO/IEC 26300:2025). This is because it is mature and well documented, and will remain compatible for decades, offering an excellent balance between functionality and breadth of support.

For documents where faithful visual reproduction is important, it is advisable to embed fonts in ODF files to avoid font substitution issues when files are opened years later in a different environment to the one used to create them.

Additionally, all resources related to the documents (images, graphics, etc.) should be embedded in the ODF file rather than linked externally because external links are at risk of breaking over time if the original file is moved, which could render the documents incomplete.

Finally, to enable recognition of the file years later, take advantage of rich metadata support by adding the creation date, author, subject, and any other contextual information that could help understand the document’s purpose and origin. In any case, even when using an open standard format such as ODF for long-term archiving, it is advisable to plan for the periodic migration of archives to the most recent version of the format, and to check the accessibility of files every few years.

ODF, though, cannot be used to archive documents which have to maintain their original format, without the risk of being inadvertently edited. For these documents, a different approach based on PDF/A should be considered. PDF/A is specifically designed for archiving and complements ODF perfectly in a comprehensive archiving strategy, so is ideal for final documents that are not expected to be modified over time.

Since no format can protect against media failure, it is best to keep multiple copies of each file on different storage media and in different locations, following the 3-2-1 backup rule: three copies on two types of media, with one copy off-site. In addition, the archiving processes should be documented and the documentation should be easily accessible, so that people taking on different roles within the company can reproduce and update the process in a manner consistent with the software tools used, as well as with decisions on strategy and formats.

Looking to the future

The digital preservation landscape continues to evolve, but ODF’s commitment to open standards, transparency and vendor independence positions it as the best long-term choice, thanks to its dedication to ensuring information accessibility extends beyond the lifespan of a single organisation.

In a world where planned obsolescence is an increasingly common strategy and is sometimes imposed, as with the end of support for Windows 10 forcing the abandonment of perfectly functioning hardware despite any talk of sustainability and reducing digital waste, this commitment is rare and valuable.

  • ✇The Document Foundation Blog
  • Do something awesome! Join the Month of LibreOffice, November 2025
    Love LibreOffice? Join the project and help to make it even better – get involved in the Month of LibreOffice, November 2025! Over the next four weeks, hundreds of people around the world will collaborate to improve the software – and you can help them. There are many ways to get involved, as you’ll see in a second. And best of all: everyone who contributes to LibreOffice in November can claim a cool sticker pack, and has the chance to win extra LibreOffice merchandise such as mugs, hoodies, T-
     

Do something awesome! Join the Month of LibreOffice, November 2025

1 novembre 2025 à 09:56

Month of LibreOffice banner, showing community members at events

Love LibreOffice? Join the project and help to make it even better – get involved in the Month of LibreOffice, November 2025! Over the next four weeks, hundreds of people around the world will collaborate to improve the software – and you can help them. There are many ways to get involved, as you’ll see in a second.

And best of all: everyone who contributes to LibreOffice in November can claim a cool sticker pack, and has the chance to win extra LibreOffice merchandise such as mugs, hoodies, T-shirts, rucksacks and more (we’ll choose 10 participants at random at the end):

How to take part

There are many ways you can help out – and you don’t need to be a developer. For instance, you can be a…

  • Handy Helper, answering questions from users on Ask LibreOffice. We’re keeping an eye on that site so if you give someone useful advice, you can claim your shiny stickers. We also monitor the users@ mailing list.
  • First Responder, helping to confirm new bug reports: Go to our Bugzilla page and look for new bugs. If you can recreate one, add a comment like “CONFIRMED on Windows 11 and LibreOffice 25.8.2”.
  • Drum Beater, spreading the word: Tell everyone about LibreOffice on Mastodon, Bluesky or X (Twitter)! Just say why you love it or what you’re using it for, add the #libreoffice hashtag, and at the end of the month you can claim your stickers.
  • Globetrotter, translating the user interface: LibreOffice is available in a wide range of languages, but its interface translations need to be kept up-to-date. Or maybe you want to translate the suite to a whole new language? Get involved here.
  • Docs Doctor, writing documentation: Whether you want to update the online help or add chapters to the handbooks, here’s where to start.

We’ll be updating this page every few days with usernames across our various services, as people contribute. So dive in, get involved and help make LibreOffice better for millions of people around the world – and enjoy your sticker pack at the end as thanks from us! And who knows, maybe you’ll be lucky enough to win bonus merch as well…

So let’s get going! We’ll be posting regular updates on this blog and our Mastodon, Bluesky and X (Twitter) accounts over the next four weeks – stay tuned…

  • ✇The Document Foundation Blog
  • ODF format security: encryption, signatures and metadata management
    Open Document Format (ODF) is an open standard for office documents – texts, spreadsheets, presentations and more – that is flexible and interoperable. As with any other digital format, its security is a key concern, as ODF files often contain sensitive information that, without adequate protection measures, can be exposed, tampered with or tracked. This post analyses how ODF handles security, focusing on encryption, digital signatures and metadata management: three features that protect documen
     

ODF format security: encryption, signatures and metadata management

31 octobre 2025 à 06:49

Open Document Format (ODF) is an open standard for office documents – texts, spreadsheets, presentations and more – that is flexible and interoperable. As with any other digital format, its security is a key concern, as ODF files often contain sensitive information that, without adequate protection measures, can be exposed, tampered with or tracked.

This post analyses how ODF handles security, focusing on encryption, digital signatures and metadata management: three features that protect documents from prying eyes and tampering.

Encryption: content locking

ODF supports file-level encryption using standard algorithms. When you save an ODF document with a password, the content is compressed and then encrypted using AES (Advanced Encryption Standard), typically with a 256-bit key.

Here’s what happens behind the scenes:

  1. The document content (the XML file) is compressed.
  2. A random salt (a sequence of bits used together with a password as input to a one-way function) and an initialisation vector (IV), which is a block of bits of a predefined length, are generated.
  3. A key is derived from the password using PBKDF2 (Password-Based Key Derivation Function 2). The key is a string of data used with an algorithm to encode (encrypt) and decode (decrypt) the text, transforming it from plain text to unreadable text.
  4. AES encrypts the content using this key.

This is encryption based on open and verified algorithms, sufficiently strong when implemented correctly, whose security depends largely on the strength of the password. Users should therefore always use long, unique passwords, preferably created by a password generator.

Unfortunately, not all applications that support the ODF format implement encryption in the same way, with possible repercussions on interoperability.

Digital signatures: who modified the document?

Digital signatures guarantee authenticity and integrity, and show who created or modified the ODF file, and whether it has been modified by another user since its creation.

How it works:

  1. ODF uses XML digital signatures.
  2. A cryptographic hash of the document’s content is created (a fixed-size digital fingerprint of data, created by a one-way algorithm that is almost impossible to reverse).
  3. This hash is signed with the signer’s private key (a secret code, similar to a password, used to encrypt and decrypt data and digitally sign transactions).
  4. The signature is stored in “META-INF/documentsignatures.xml”.

This makes it possible to verify the origin of the document, but verifying signatures requires access to the signer’s public key or certificate. If the workflow involves multiple people, multiple signatures are supported. Any changes to the file after signing invalidate the signature.

Unfortunately, not all office suites that support ODF consistently display or validate signatures.

Metadata management: a potential information leak

Metadata can unintentionally disclose various information, including sensitive information such as usernames, file paths, software versions, timestamps (creation and save dates), and even content revision history.

What does metadata contain?

  1. Author name, change history, and save times.
  2. Custom properties, such as project codes or internal comments.
  3. Application-specific data embedded in namespaces.

Malicious actors can extract metadata for social engineering, document tracking, or profiling purposes. To prevent this, use metadata cleaning tools—such as those in LibreOffice—or document sanitisation tools, such as manually inspecting the “meta.xml” file within the ODF archive. Of course, it is always best to avoid including unnecessary comments or tracked changes before sharing.

Final considerations

ODF is a robust format, and its security features are solid when used correctly. Encrypt sensitive files with strong passwords. Sign important documents to assert ownership and integrity. And don’t forget to clean up metadata before hitting “send”.

Security is not just about features, but also about habits. Make these protections an integral part of your standard workflow, and your ODF files will be able to withstand most threats.

  • ✇The Document Foundation Blog
  • LibreOffice project and community recap: October 2025
    Here’s our summary of updates, events and activities in the LibreOffice project in the last four weeks – click the links to learn more… We started the month by posting the LibreOffice Podcast, Episode #5 –Accessibility in Free and Open Source Software, with Michael Weghorn and Mike Saunders. Watch it below – or on PeerTube. Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an external third party. YouTube pri
     

LibreOffice project and community recap: October 2025

31 octobre 2025 à 04:55

Latin American LibreOffice Conference 2025

Here’s our summary of updates, events and activities in the LibreOffice project in the last four weeks – click the links to learn more…

  • We started the month by posting the LibreOffice Podcast, Episode #5 –Accessibility in Free and Open Source Software, with Michael Weghorn and Mike Saunders. Watch it below – or on PeerTube.

Please confirm that you want to play a YouTube 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.

  • Markdown support is coming to LibreOffice! This is just one of the projects from the Google Summer of Code 2025, and should be included in our next major release, LibreOffice 26.2, due in February next year.

Screenshot of raw Markdown and import into LibreOffice

  • In October, we had two updates to the software: LibreOffice 25.8.2, and LibreOffice 25.2.7. The latter is the final update to the 25.2 branch, so after this, all users are recommended to upgrade to the 25.8 branch.

LibreOffice 25.8 banner

  • It’s the End of 10! Yes, in October, Microsoft ended official support for Windows 10. This leaves users who want to continue using the operating system with few alternatives — especially if they have an old PC that is not compatible with Windows 11’s demanding hardware requirements — other than buying a new PC. But we a posted about 10 reasons to switch to Linux – and, of course, many desktop Linux distributions ship with LibreOffice.

End of 10 logo

  • Lots of people ask us about LibreOffice’s compatibility with Microsoft Office/365 documents. We think our compatibility is very good (and always improving, as more people send us documents to test), but the format is extremely difficult to work with, as our posts about the DOCX and PPTX formats explain. (Of course, ideally we’d all be using the Open Document Format, regardless of the software we prefer! And here’s how to make your ODF documents more accessible.)

ODF logo

TDF team

Photo of a CPU

Photo of community members in Nepal

  • Meanwhile, the Libreitalia Conference 2025 was organized by Marco Marega – a LibreItalia and TDF Member – in Gradisca d’Isonzo, near the border with Slovenia.

Libreitalia Conference 2025 group photo

  • And our final event report was from LinuxDays 2025 in Prague, where we had a stand with stickers, flyers and a quiz about LibreOffice.

LibreOffice stand at LinuxDays

Keep in touch – follow us on Mastodon, X (formerly Twitter), Bluesky, Reddit and Facebook. Like what we do? Support our community with a donation – or join our community and help to make LibreOffice even better!

  • ✇The Document Foundation Blog
  • The Document Foundation announces LibreOffice 25.2.7
    Berlin, 30 October 2025 – The Document Foundation announces the release of LibreOffice 25.2.7, the final maintenance release of the LibreOffice 25.2 family, available for download at www.libreoffice.org/download [1]. Users of LibreOffice 25.2.x should update to LibreOffice 25.8.x, as LibreOffice 25.2.x is approaching the end of its support period. LibreOffice 25.2.7 is based on the LibreOffice Technology, which enables the development of desktop, mobile and cloud versions – either from TDF or f
     

The Document Foundation announces LibreOffice 25.2.7

30 octobre 2025 à 08:29

Berlin, 30 October 2025 – The Document Foundation announces the release of LibreOffice 25.2.7, the final maintenance release of the LibreOffice 25.2 family, available for download at www.libreoffice.org/download [1]. Users of LibreOffice 25.2.x should update to LibreOffice 25.8.x, as LibreOffice 25.2.x is approaching the end of its support period.

LibreOffice 25.2.7 is based on the LibreOffice Technology, which enables the development of desktop, mobile and cloud versions – either from TDF or from the ecosystem – that fully supports the two document format standards: the open ODF or Open Document Format (ODT, ODS and ODP), and the closed and proprietary Microsoft OOXML (DOCX, XLSX and PPTX).

Products based on the LibreOffice Technology are available for all major desktop operating systems (Windows, macOS, Linux and ChromeOS), mobile platforms (Android and iOS) and the cloud.

For enterprise-class deployments, TDF recommends a LibreOffice Enterprise optimized version from one of the ecosystem companies, with dedicated value-added features and other benefits such as SLAs and security patch backports for three to five years (www.libreoffice.org/download/libreoffice-in-business/).

English manuals for the LibreOffice 25.2 family are available for download at books.libreoffice.org/en/. End users can get first-level technical support from volunteers on the user mailing lists and the Ask LibreOffice website: ask.libreoffice.org.

Downloading LibreOffice

All available versions of LibreOffice for the desktop can be downloaded from the same website: www.libreoffice.org/download/.

LibreOffice users, free software advocates and community members can support The Document Foundation and the LibreOffice project by making a donation: www.libreoffice.org/donate.

[1] Fixes in RC1: wiki.documentfoundation.org/Releases/25.2.7/RC1. Fixes in RC2: wiki.documentfoundation.org/Releases/25.2.7/RC2.

  • ✇The Document Foundation Blog
  • LibreOffice at LinuxDays 2025 in Prague
    On October 4 and 5, the LinuxDays 2025 event took place at the Faculty of Information Technology (Czech Technical University). It combined stands for free and open source software projects with workshops and talks, and the LibreOffice community was there, represented by Zdeněk Crhonek, Petr Valach, Stanislav Horáček and Mike Saunders. At the stand, we had flyers explaining what LibreOffice is and how it can be used in various contexts (homes, businesses etc.) along with stickers, beer/coffee ma
     

LibreOffice at LinuxDays 2025 in Prague

28 octobre 2025 à 10:36

LibreOffice stand at LinuxDays 2025

On October 4 and 5, the LinuxDays 2025 event took place at the Faculty of Information Technology (Czech Technical University). It combined stands for free and open source software projects with workshops and talks, and the LibreOffice community was there, represented by Zdeněk Crhonek, Petr Valach, Stanislav Horáček and Mike Saunders.

At the stand, we had flyers explaining what LibreOffice is and how it can be used in various contexts (homes, businesses etc.) along with stickers, beer/coffee mats, and printed versions of the handbooks, to show how extensive the documentation for LibreOffice really is. We also had a fun quiz for participants to try.

LibreOffice stand at LinuxDays 2025

During the two days, many visitors came to our stand, gave feedback and asked questions. Of course, at an event focused on Linux, most visitors already knew what LibreOffice is (and many used it regularly). But they gave us some useful feedback and asked about new features, including:

  • Where is the online version of LibreOffice?
  • Better clipboard management (normally handled by the operating system)
  • More development of Base (TDF has a new paid developer role for this)
  • Better options for copying and pasting in Calc
  • Real-time collaboration would be good
  • Clearer warnings about formatting problems when opening Microsoft Office documents
  • Simplify the user interface, using OBS as an example
  • Integrate text translator directly into Writer and Calc
  • It would be nice to have an optional automatic cloud saving feature
  • Make the tabbed user interface default
  • Functions in Calc for interpolating and extrapolating values in 2D and 3D tables

Anyone who wants these features or improvements in LibreOffice is welcome to join our project and help to make it happen, or fund a developer. And we plan to be at more events in the coming months – stay tuned to this blog and our Mastodon account for news!

LibreOffice stand at LinuxDays 2025

Join the LibreOffice Team as a Paid Developer focusing on scripting support, preferably full-time, remote (m/f/d)

27 octobre 2025 à 08:29

The Document Foundation's team

Love LibreOffice development? Want to turn your passion into a paid job? We are The Document Foundation (TDF), the non-profit entity behind LibreOffice. We’re passionate about free software, the open source culture and about bringing new companies and people with fresh ideas into our community.

To improve the scripting support of LibreOffice, the office productivity suite for over 200 million users around the globe, we’re searching for a developer (m/f/d) to start work (from home) as soon as possible. This is what you’ll do:

  • Work on the LibreOffice codebase (mostly C++)
  • Focus on scripting and the use of UNO API, including script developer experience with internal and external IDEs
  • Fix bugs, implement new features, and improve the quality of scripting-related code in LibreOffice
  • Document what you do, actively share knowledge in public with volunteers and contributors via blog posts, workshops and conference talks, so other developers and users have an easier time learning about your work

Examples of tasks:

  • Add support for Interactive Python
  • Make macro recording production-ready
  • Reimplement JavaScript support in order to drop Rhino dependency
  • Improve VBA compatibility
  • Improve auto-completion support

What we want from you:

  • Very good C++ development skills
  • Proven experience working with some of the scripting languages supported by LibreOffice
  • Good team-playing skills
  • Speaking and writing English

Previous contributions to FOSS projects (show us your repos!) are a plus. A previously established relationship within the developer community, as well as with other teams such as QA is a plus, but it is not mandatory at the start and can be achieved during the work itself.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to members of TDF. Not being a member does not exclude any applicants from consideration.

Join us!

All jobs at The Document Foundation are remote jobs, where you can work from your home office or a co-working space. The work time during the day is flexible, apart from a few fixed meetings. The role is offered as full-time (ideally 40 hours per week). While we prefer full-time for the role, part-time applications, or proposals to grow the hours over time, will be considered. Candidates that are resident in (or willing to relocate to) Germany will be employed directly by TDF. Otherwise, external payroll services will be used if available in the candidate’s country of residence.

Are you interested? Get in touch!

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, gender, disability, religion/belief, sexual orientation or age. Don’t be afraid to be different, and stay true to yourself. We like you that way! 😊

We’re looking forward to receiving your application, including information about you (your resume), when you are available for the job, and of course your financial expectations. We expect you to provide details about your C++ experience. Pointing to public repositories with your code is very helpful. Please send us an e-mail to developers@documentfoundation.org no later than November 17, 2025. If you haven’t received feedback by December 15, 2025, your application could not be considered.

Also note: we only accept applications from the applicant, and not from any intermediary. We do not accept agency resumes. Please do not forward resumes to any recruiting alias or employee.

  • ✇The Document Foundation Blog
  • LibreItalia Conference 2025 in Gradisca d’Isonzo
    Libreitalia Conference 2025 was organized by Marco Marega – a LibreItalia and TDF Member – in Gradisca d’Isonzo, near the border with Slovenia, in Gorizia’s province. Gradisca is a very nice fortified city surrounded be beautiful parks. The conference venue was the historical Monte di Pietà palace, that the municipality administration kindly allowed to use. Gorizia, the administrative center, is a city divided in two parts, half in Italy (Gorizia itself), and half in Slovenia (Nova Gorica). Tog
     

LibreItalia Conference 2025 in Gradisca d’Isonzo

27 octobre 2025 à 04:00

Libreitalia Conference 2025 was organized by Marco Marega – a LibreItalia and TDF Member – in Gradisca d’Isonzo, near the border with Slovenia, in Gorizia’s province. Gradisca is a very nice fortified city surrounded be beautiful parks. The conference venue was the historical Monte di Pietà palace, that the municipality administration kindly allowed to use.

Gorizia, the administrative center, is a city divided in two parts, half in Italy (Gorizia itself), and half in Slovenia (Nova Gorica). Together, they are the 2025 European’s Capital of Culture.

The conference was very interesting, with members coming from many different cities. Furio Honsell – a councilman of Friuli Venezia Giulia region and also a former mayor of the city of Udine and rector of Udine University – was the special guest, introducing his regional law proposal to promote free software adoption in local administrations.

Italo Vignoli had two talks, one about the end of Windows 10 support and the other about the 20th anniversary of the ODF format. Marco Gaiarin had a brief talk about good practices for free software adoption. Giulia Bimbi spoke about Italian laws regulating free software adoption in public administrations.

Blerta Mecani and Moreno Cervesato of PNLUG, Pordenone Linux Users’ group, talked about their activities, with a special focus on their project leveraging Italian rules which permit to legally recover used PCs, install Linux on them and then donate them to schools.

Sonia Zorba and Andrej Sossi presented Trieste Linux Users group activities, and their game to learn command line.

Marco Marega opened the day introducing free software and LibreOffice to newbies.
In the afternoon, he explained – together with Gabriele Ponzo – how to contribute to the LibreOffice project, focusing on the tools used to localize the software’s UI and the documentation.

Marco did a very good job in organizing the event, and was very happy to see many community members meeting in his hometown. The conference was a great occasion to strengthen our community.

On November 22/23, some of the conference attendees will meet again in Pordenone, another administrative center of Friuli Venezia Giulia, at the Linux Arena within the Radioamatore2 fair.

  • ✇The Document Foundation Blog
  • Make your ODF files accessible: a simple guide for everyone
    People without disabilities have no problem viewing documents on a computer screen, but there are people with visual impairments or who are blind who use screen readers and keyboard navigation. ODF files have everything they need to be accessible to these people too, and this is a short guide to creating documents that they can use without any problems. In the context of digital document management, accessible means that a document can be consulted without any constraints related to the ability
     

Make your ODF files accessible: a simple guide for everyone

24 octobre 2025 à 10:21

People without disabilities have no problem viewing documents on a computer screen, but there are people with visual impairments or who are blind who use screen readers and keyboard navigation. ODF files have everything they need to be accessible to these people too, and this is a short guide to creating documents that they can use without any problems.

In the context of digital document management, accessible means that a document can be consulted without any constraints related to the ability to see or move one’s hands with dexterity. This means that people can quickly find what they are looking for (headings, lists, indexes), understand the meaning of graphs and images thanks to descriptions, tables are simple and clear, and they can read the text because the contrast is good and the links make sense even out of context.

To achieve this result, which does not discriminate against people based on their physical characteristics, it is necessary to follow a few simple rules when creating a document. Obviously, we are talking about LibreOffice, although the rules also apply to other office suites (although in this case the document format will be proprietary and not standard).

1. Use styles for headings (not just bold text)

  • Screen readers use headings to move around the page.
  • To do this, select the heading and choose Heading 1 from the styles drop-down menu, Heading 2 for sections, and Heading 3 for subsections.
  • Avoid skipping numbers, but always follow the order 1, 2, 3.

2. Create lists using the appropriate buttons

  • This way, screen readers count the items correctly.
  • To do this, highlight the items and click on the Bulleted List or Numbered List button. Avoid typing dots or numbers manually.

3. Add alternative text to every image, graph or icon

  • This way, people who cannot see the image will still receive the message.
  • To do this, right-click on the image, select Properties, select Options, and fill in the Alternative (text only) field.
  • For example: in the case of an image, ‘team photo: from left to right, Mr. X, Mr. Y, and Mr. Z’; in the case of a graph, ‘sales increased every month, and the fourth quarter was the highest with £X million’.

4. Create simple tables

  • Complex tables are difficult for screen readers to read.
  • To do this, use the first row for headers (for example: Name and Date), and avoid merging or splitting cells.
  • Avoid using tables solely to order elements within the page.

5. Create self-explanatory links

  • A link such as “click here” tells a screen reader nothing.
  • To do this, write the action related to the link as if it were the link itself.
  • For example: “Download the budget report (in ODF format)”.

6. Set the language

  • This allows screen readers to pronounce words correctly.
  • To do this for the entire document, select the language in the status bar at the bottom of the screen.
  • To do this for a portion of the document, highlight the text and select the language in the status bar at the bottom of the screen.

7. Use light colours and strong contrast

  • Screen readers have trouble reading low-contrast text.
  • To do this, use dark text on a light background, and never use colour alone to emphasise the meaning of a word.
  • For example: “Expired items are written in red and labelled as EXPIRED”.

8. Label all fields on any forms

  • This way, even visually impaired or blind people know what to type and where.
  • To do this, add a label immediately before the field (e.g., Email Address), and maintain a logical tab order (top to bottom, and left to right for Western languages).

9. Add a table of contents to longer documents

  • This makes navigation easier and faster.
  • To do this, place the cursor where you want it, select Insert, select Table of Contents, and accept the default settings.
  • For the table of contents, level 1/2/3 headings are used, so step 1 is extremely important.
  • ✇The Document Foundation Blog
  • Outcome and conclusions of the VI Latin American LibreOffice Congress
    Gustavo Pacheco send us this report on the activities of the sixth edition of the Latin American LibreOffice Congress, held in Habana, Cuba, from October 6 to 9, 2025: Official photo Cibersociedad 2025 + Latin American LibreOffice Congress With a completely different organizational model than in previous years, our conference was held as a prominent section within another broader event: the Cibersociedad 2025 congress. Held every two years by the Union of Computer Scientists of Cuba, Cibersoci
     

Outcome and conclusions of the VI Latin American LibreOffice Congress

23 octobre 2025 à 03:51

Gustavo Pacheco send us this report on the activities of the sixth edition of the Latin American LibreOffice Congress, held in Habana, Cuba, from October 6 to 9, 2025:


Official photo Cibersociedad 2025 + Latin American LibreOffice Congress

With a completely different organizational model than in previous years, our conference was held as a prominent section within another broader event: the Cibersociedad 2025 congress.

Held every two years by the Union of Computer Scientists of Cuba, Cibersociedad aims to be a space for innovation and proposals for the construction of a more sustainable and equitable digital future.

For the events in 2019 in Asunción, 2022 in Brasília and 2023 in Mexico City, we had the support of universities, and in 2024 in Montevide, support local communities. But 2025 marked a new moment for the Latin American organizing committee. On this occasion, our relationship was established with an organization of professionals, the UIC, which contributed all its knowledge and structure to the planning of a joint event.

The idea arose from the proposal of the president of the UIC in 2023, Ailyn Febles, who, in contact with Gustavo Pacheco, presented the invitation to hold the conference in Cuba, motivated by the legacy left by Carlos Parra (1961-2022), an active member of both the UIC and theTDF.

As in 2023 we already had our congress confirmed for Mexico City, we would talk again during that year to align the possibilities.

In addition to the excellent event in Mexico City, at that time we also had the Montevideo congress. That one was an atypical event, as it was carried out as a contingency to the originally planned place, the state of Rio Grande do Sul, in Brazil, affected by the largest flood of the century in May 2024. The event was only saved from being canceled thanks to the support of the Uruguayan community. Thus, for the first time, the congress was held in a public space outside a university: a challenge also for local volunteers.

We did not reach the expected face-to-face audience, but we had a meeting with exceptionally high-quality participations. With the participation of Gastón Hannay in the graphic design activities, we achieved the objective of the congress to always bring, as a minimum, a new permanent volunteer for the project, in addition to interesting results from the participation among the members, such as the development of new formulas for Calc, by Xisco Fauli, based on the presentation of the practical experience of Ismael Fanlo with spreadsheet users.

With the results of 2024, we began planning for 2025 based on the premise of taking advantage of our participation in the event to visit universities, public institutions, third sector entities, local communities, etc., in their own organizational spaces. This idea was very well received by the then new president of the UIC, Omar Correa.

The initiative would also fit the way the event would be carried out. By incorporating our event into a larger one, we obtained the benefit of reducing the workload, however, we no longer had total autonomy in defining the programming. This year, we had a smaller number of speakers, none of them from Asia, which, as far as possible, we intend to improve in future editions.

In fact, since Cibersociedad is a broad event, the LibreOffice project programming was concentrated on the opening day, October 6, and in the special session “LibreOffice Congress and Technological Sovereignty”, on the 8th. With the remaining days available, we articulated a parallel agenda of activities, with visits and strategic meetings with managers and professionals from governmental and community areas.

Opening Session

We started Cibersociedad 2025 with Gustavo Pacheco representing the LibreOffice project in the Opening Session, together with the Minister of Communications of Cuba, Mayra Arevich, the president of the UIC, Omar Correa, the representative of the Central Committee of the PCC, Omar Pérez Salomón, and the president of the Scientific Committee, Tatiana Delgado.


Opening Session Cibersociedad 2025

Immediately after the opening session, we had our first strategic meetings.

In addition to welcoming, the Minister of Communications of Cuba, Mayra Arevich, showed interest in the implementation process of LibreOffice by the Government of Mexico, presented by Adlair Cerecedo. Subsequently, the importance of the participation of the LibreOffice project in Cuba became even more evident with the publication of the minister in her profile after the conference of Olivier Hallot on LibreOffice and the most important aspects of the migration process. Through the minister, we were also received by the general director of the Joven Club project, Maidelys Pupo, on October 9.

It was also the moment to personally meet Professor Joaquín Pina, from the UIC of Havana. Professor Pina will be the focal point of contact for the Cuban community. On the initiative of Pina, Hanoi Calvo and Liber Luis González, an online group was formed with students and professionals linked to the UIC. This working group will aim to study and develop extensions for LibreOffice, with possible results for the next FLISOL, the most important decentralized Free Software event in Latin America, in April 2026.

We also had long conversations with the LPI representative in Latin America, Juan Ibarra. Ibarra is Paraguayan and already participated in a LibreOffice Conference in 2021. Through Juan, we were able to learn about LPI’s strategy for the Cuban market, which involves both the UIC and the universities.

Finally, the rector of the University of Computer Sciences (UCI), Raydel Montesino, informed us about the itinerary prepared for the visit to the UCI the following day.

Visit to the UCI

On October 7, our agenda was completely focused on the visit to the University of Computer Sciences (UCI).

To make the meeting possible, our request was:

  1. to know the University, its courses, the profile of its faculty and students, and its relationship with Free Software projects;
  2. hold a meeting with the members of the University’s board of directors, to assess the possibility of a joint long-term collaboration;
  3. present LibreOffice to the students, preferably to those who had some relationship with free software projects.

After a 30 km journey from Havana, we arrived at the UCI, where we were received by the director of International Relations, Delly Lien González. The university has an infrastructure of more than 150 buildings, distributed in 268 hectares. Over 21 years, it has trained more than 16,800 engineers and technicians. The UCI is also the headquarters of Nova Linux, the reference Linux distribution in Cuba.

After the detailed presentation, we were invited to a meeting with the administration professors and the Nova Linux developers. In our presentation, we highlighted our interest in spreading LibreOffice in universities through the exchange of our knowledge and, in the case of the UCI, stimulating the formation of a study group focused on LibreOffice that can meet the needs of local users, based on the Nova Linux team. For its part, the UCI highlighted the technical training of the university and that yes, there is interest in this type of collaborative action, which we should detail in the coming weeks.


Meeting LibreOffice Latin America, UCI Board of Directors and Nova Linux.

Our next activity was a technical presentation for the UCI students. Xisco, Olivier, Mauricio and Adlair gave a presentation and then Gustavo spoke about the main topics of the Latin American LibreOffice Congress held in Cuba and the reasons for the visit to the UCI.


Gustavo Pacheco in the presentation for UCI students.


Xisco Fauli and Olivier Hallot present Show me the Code! for UCI students

Next, Olivier and Xisco presented the talk Show me the Code!, a technical introduction to LibreOffice with the main aspects of the development process.


Photo of the meeting of the LibreOffice project with the UCI students in front of the panel in tribute to José Martí.

At the end of the visit, after the photo with the group, professors Ailyn Estrada and Serguey González presented us with copies of the book Good Practices for Migration to Open Source, a UCI publication that very well illustrates the history and importance of open technologies in the institution.

Special Session – LibreOffice Congress and Technological Sovereignty

The third day of the event was dedicated to our programming with additional panels related to Free Software and Technological Sovereignty.

Within our space in the programming, we organized the presentations differently than in other years. On this occasion, apart from the initial introductory conference by Olivier, the topics were divided into panels with two speakers each. In this way, despite the breadth of the content, the dynamics of the activities were attractive to the participants:

Conference LibreOffice and the liberation of digital imperialism, Olivier Hallot


Olivier Hallot opens the special session of the LibreOffice project in Cibersociedad 2025

The first conference, proposed and presented by Olivier, was very important to update the knowledge of the public present. Through a clear presentation, Olivier mentioned the main characteristics of the product and the project, highlighting important topics related to the event, such as technological sovereignty and access to knowledge.

Panel Migration of the LibreOffice suite and the project of the Government of Mexico, Olivier Hallot and Adlair Cerecedo-Méndez


Gustavo Pacheco, Mauricio Baeza, Omar Correa, Adlair Cerecedo and Olivier Hallot.

Next, Olivier led the transition of the topic to the migration process to LibreOffice, where Adlair presented the details that, today, qualify the Mexican project as one of the most important projects in progress, not only in Latin America, but throughout the world.

Panel “Opportunities and Connections for the rebirth of the Cuban LibreOffice community”, Gustavo Pacheco and Mauricio Baeza

This panel originally had a propositional structure in which ideas for the reorganization of the Cuban community would be presented. However, the first days of activities in Havana were so intense that Gustavo and Mauricio decided to modify the focus of the panel and mention the results already achieved, among which are:

  • the work agenda proposed by Joaquín Pina focused on Flisol 2026;
  • the visit to the UCI and the possibility of collaborative projects with LibreOffice and Nova Linux;
  • the common interest between the technological projects of Cuba and Mexico with the support of the community;
  • the surprises related to the interactions of the event, such as the interest in the LibreOffice Training Certification, motivated by the presentation of Professor Yusniel Valdés, from Pinar del Río, on the use of LibreOffice for the teaching of computer science in primary and secondary schools in Cuba.

The example of the Brazilian community was also mentioned, through the four basic aspects to stimulate volunteer work: regular online meetings, friendly environment, clear and objective tasks and tutoring of the most experienced. Mauricio contributed the Mexican experience, detailing the importance of the 2023 conference and the LibreOffice project in the Social Service: the period in which young Mexicans carry out volunteer work with mentoring for a few months for the benefit of society in general.

Panel “Technical visions of the LibreOffice project: Quality Control and Extensions”, Xisco Fauli and Mauricio Baeza

Xisco Fauli began his presentation with an introduction to quality control, highlighting the collaborative tasks that provide the new volunteer with a quick technical understanding of the project.


Xisco Fauli and Mauricio Baeza.

Mauricio Baeza presented the development of extensions in LibreOffice with Python. This was a strategically important presentation for our event due to the interest shown in the group that Professor Joaquín Pina will coordinate.

Practical workshop: Show me code!, Olivier Hallot and Xisco Fauli

Olivier and Xisco finished the day repeating the technical presentation they had made the day before at the UCI. A technical introduction to LibreOffice with the main aspects of the development process, talking about the knowledge requirements, the infrastructure and the support resources of the project.


Explanation of Xisco Fauli about the Easy Hacks of LibreOffice.


Xisco Fauli, Mauricio Baeza, Adlair Cerecedo, Gustavo Pacheco, Mayra Arevich, Minister of Communications of Cuba, Olivier Hallot and Omar Correa, President of the UIC.

Joven Club

Taking advantage of the proximity, we visited the central headquarters of the Joven Club, in the central area of Havana. The general director of the project, Maidelys Pupo, explained to us that the Joven Club is a public organization with its own financing, created by Fidel Castro with the aim of implementing teaching centers in the areas of robotics, electronics and computer science for young people. In total, the Joven Club has more than 600 facilities in hundreds of Cuban cities. The biggest challenge today, according to Maidelys, is the infrastructure. There are difficulties in updating the equipment park. Even the simplest maintenance tasks take longer than expected.


Central Headquarters of the Joven Club project in Havana.

Under the local coordination of Niurbelis Maturell, the students of the Adalberto Gómez Núñez School presented scientific initiation projects in the areas of robotics and augmented reality.


Meeting with teachers and students of the Joven Club project


Meeting with teachers and students of the Joven Club project

Later, the director of national computerization, Lexy Gaspar, joined us, who detailed the projects in progress, despite all the difficulties derived from the current economic situation in Cuba. Due to its capillarity throughout the country and for being a technical training center, the structure of the Joven Club is used by companies and government agencies for teaching and support in the area of technology.

Final outcome

The day after the closing of the congress was dedicated to evaluating the results, before the participants began the return trip. In general terms, the experience was very positive. After months of organization and planning work, we can affirm that the Latin American LibreOffice Congress has fulfilled its objectives. We spread the knowledge of the project, consolidated institutional relations and recovered the legacy of our member Carlos. We have excellent possibilities to continue with the growth of the local community of the LibreOffice project in Cuba, either by individual or institutional initiatives.

As a secondary result, the importance of the Mexico migration project became evident. This was one of the motivations why we received the invitation from Manuel Haro, from the Gnome Latam project, to participate in the CCOSS + Gnome LATAM Conference, on November 21 and 22 in Aguascalientes, Mexico.

As for the future, for the next editions, the same formula for success this year can be repeated.

Leaving the event space and presenting LibreOffice where users and potential collaborators are was fundamental to our success. We are not yet sure where the next edition will take place, but Bolivia, Chile and Colombia, in that order, emerge as possibilities. Whatever the place and the model, our event will continue with the objective of bringing, in the best possible way, the LibreOffice project to the local communities of Latin America.

  • ✇The Document Foundation Blog
  • LibreOffice and Google Summer of Code 2025: The results
    This year, LibreOffice was once again a mentoring organization in the Google Summer of Code (GSoC), a global program focused on bringing more developers into free and open source software development. Seven projects were finished successfully. Contributors and mentors enjoyed the time, and here we present some of the achievements, which should make their way into LibreOffice 26.2 in early February 2026! You can experiment with the new features by using daily builds and report any problems in ou
     

LibreOffice and Google Summer of Code 2025: The results

22 octobre 2025 à 02:57

Google Summer of Code logo

This year, LibreOffice was once again a mentoring organization in the Google Summer of Code (GSoC), a global program focused on bringing more developers into free and open source software development. Seven projects were finished successfully. Contributors and mentors enjoyed the time, and here we present some of the achievements, which should make their way into LibreOffice 26.2 in early February 2026!

You can experiment with the new features by using daily builds and report any problems in our bug tracker.


Import Markdown files into LibreOffice Writer by Ujjawal Kumar Chouhan

Mentors: Thorsten Behrens (Collabora), Ilmari Lauhakangas (TDF)

Requests to add support for the simple text formatting language known as Markdown to LibreOffice have been more and more frequent. These days Markdown is often encountered in forum posts, chat messages and readme files. In fact, the content of the website of The Document Foundation is written in Markdown.

Thanks to this project, LibreOffice now supports importing Markdown files and pasting Markdown content into Writer as well as pasting Markdown tables into Calc. The supported dialect is CommonMark with GitHub-style table syntax and the library used is MD4C.

Additionally, Collabora developers added support for exporting to Markdown from Writer.

Learn more about Markdown import in the final report.


New Dialog To Edit Table Styles by Karthik Godha

Mentors: Heiko Tietze (TDF), Rafael Lima

LibreOffice does not yet support proper styles for tables, but has a system for applying direct formatting to them. Before Karthik’s work, it was only possible to add new formatting templates, while now existing ones can be edited as well. At the time of writing this, the feature has not yet been merged into the code base, but hopefully it will appear in the next weeks.

Learn more about the table styles project in the final report.


Python code auto-completion by Manish Bera

Mentors: Xisco Faulí, Hossein Nourikhah (TDF)

Power users are sure to love the improvements brought to Python support by this project. Now Python IDEs are able to provide auto-completion for LibreOffice UNO API methods and properties, flag type errors and display information about parameters and types.

Learn more about the Python auto-completion project in the final report.


BASIC IDE code auto-completion by Devansh Varshney

Mentors: Jonathan Clark, Hossein Nourikhah (TDF), Rafael Lima

BASIC macro developers are not forgotten: this project implemented an object browser, allowing the macro author to see all the available and used methods and properties, including the whole UNO API. A helpful view for details is shown, reducing the need to dig through the API documentation. After this foundational achievement, the next goal is to add context-aware auto-completion to the BASIC IDE editor.

Learn more about the BASIC auto-completion project in the final report.


Rust UNO Language Binding by Mohamed Ali Mohamed

Mentor: Stephan Bergmann (Collabora)

Rust is a popular type safe programming language, which can now be used to write LibreOffice extensions or do any kind of scripting and processing via the UNO API.

Learn more about the Rust binding in the final report.


Implement report builder in C++ by Adam Seskunas

Mentors: Michael Weghorn, Hossein Nourikhah (TDF)

The Report Builder produces Writer documents from Base files. While it might not be the most popular feature in LibreOffice, there have been increasing concerns about the maintainability of the current Java-based tool. The first group of people to celebrate Adam’s reimplementation will surely be Linux package maintainers, who had even started omitting the feature entirely. At the time of writing this, the feature has not yet been merged into the code base.

Learn more about the C++ Report Builder in the final report.


Rework Impress slideshow to use DrawingLayer primitives by Shardul Vikram Singh

Mentors: Thorsten Behrens, Sarper Akdemir (Collabora)

This is important modernising work happening under the hood of Impress. The project mostly completed the rework on Linux, laying a foundation for rendering modernisation on other platforms. The code itself lives in a separate feature branch for now and will not be merged for LibreOffice 26.2.

Learn more about the slideshow rework in the final report.

Wrapping up

Many thanks to all contributors who spent their summer time improving LibreOffice. You are awesome! And special thanks also to the mentors who always put so much love and energy into these tasks. That’s what makes LibreOffice rock.

Now we are looking forward to next year’s GSoC. If you are interested, why not prepare early? Learn more at out wiki page where some ideas are listed.

Participating in GSoC is a great way to build your skills, and show future employers what you’re capable of!

  • ✇The Document Foundation Blog
  • End of 10. Ten reasons to switch from Windows to Linux on your desktop
    Today, Microsoft is ending official support for Windows 10. This leaves users who want to continue using the operating system with few alternatives — especially if they have an old PC that is not compatible with Windows 11’s demanding hardware requirements — other than buying a new PC. If you’re tired of struggling with your operating system instead of getting work done, it might be time to reconsider your setup. Linux isn’t just for servers and developers; it’s also a viable alternative to Wind
     

End of 10. Ten reasons to switch from Windows to Linux on your desktop

14 octobre 2025 à 03:12

Today, Microsoft is ending official support for Windows 10. This leaves users who want to continue using the operating system with few alternatives — especially if they have an old PC that is not compatible with Windows 11’s demanding hardware requirements — other than buying a new PC.

If you’re tired of struggling with your operating system instead of getting work done, it might be time to reconsider your setup. Linux isn’t just for servers and developers; it’s also a viable alternative to Windows for desktop use. Whether you’re looking for better performance, greater privacy, or a more intuitive user experience, Linux is the answer.

Here are 10 reasons why switching to Linux is a good idea:

  1. No Forced Updates. Windows often interrupts your work with updates and sometimes restarts your system without permission. With Linux, you have full control over when and how you update. No surprises. No more restarts during a Zoom call!
  2. It’s Really Free. Linux costs zero in any currency. Most distributions are open source, meaning you can download, install and use them for free forever, with no licence fees or activation keys. There are also no “Pro” versions that hide features which are only available for a fee.
  3. Speed and Performance. Linux is generally faster than Windows, particularly on older PCs. It starts up faster, uses less RAM, and does not slow down due to background processes. Your old PC will be given a new lease of life and will continue to function well for years to come.
  4. Privacy Built In. Unlike Windows, Linux does not track users, collect data about your connection or send your data to the cloud for “diagnostics”. What you do on your PC stays on your PC — as it should be with all operating systems.
  5. No Useless Software. Windows comes with pre-installed software that you never asked for, such as games, shopping apps and trial versions. Microsoft also suggests Edge as if it were the only browser available. In contrast, Linux distributions allow you to choose exactly what to install, based on your needs.
  6. Security Without Issues. Linux is less targeted by malware because it has more robust user authorisation systems, meaning that an antivirus is not always required. It is more secure from the outset, especially for experienced users.
  7. You Own Your System. Linux enables you to customise every aspect of your desktop, from the user interface to the kernel. Windows locks you into its ecosystem, whereas Linux puts you in control.
  8. Easy Application Management. Linux uses package managers that enable you to install and update apps from trusted sources with a single command. This makes it much cleaner, safer and faster than Windows.
  9. Freedom of Choice. The fact that not all Linux systems are the same is a good thing, as it allows you to choose the distribution that best suits your needs. While Windows offers a single version, Linux offers dozens.
  10. Community Matters and Helps. Linux boasts a global community of passionate users who love to help others. Stuck on something? Chances are someone has already solved your problem. The support is genuine and is often superior to that offered by Microsoft’s official channels.

In conclusion, Linux isn’t perfect. No operating system is perfect, but Linux is an interesting choice for users who want speed, privacy, control, and freedom from Big Tech’s impositions. It has come a long way since its days as a system for geeks, and is now more intuitive than ever.

If you’re ready to step outside your Windows comfort zone, Linux is certainly worth considering.

  • ✇The Document Foundation Blog
  • The artificial complexity of OOXML files (the PPTX case)
    This is the third and final post on the topic of the artificial complexity of the OOXML format. This complexity is the result of careful design aimed at preventing interoperability. Developers have to deal with a veritable “maze” of tags, even for the simplest content. This binds users to the Microsoft ecosystem, providing the first example of standard-based lock-in. The PPTX case To demonstrate the difference in complexity between Impress and PowerPoint XML schemas in ODF and OOXML formats, I c
     

The artificial complexity of OOXML files (the PPTX case)

10 octobre 2025 à 12:51

This is the third and final post on the topic of the artificial complexity of the OOXML format. This complexity is the result of careful design aimed at preventing interoperability. Developers have to deal with a veritable “maze” of tags, even for the simplest content. This binds users to the Microsoft ecosystem, providing the first example of standard-based lock-in.

The PPTX case

To demonstrate the difference in complexity between Impress and PowerPoint XML schemas in ODF and OOXML formats, I created a simple eight-slide presentation summarising the most common types: title and subtitle, centred text, bulleted list, table, vector image, photo, colour graphics and video. I created the same file using both software programmes, starting from a basic template without a background to prevent interference with the slide format and, consequently, the XML schema.

This is the PDF file of the presentation (the first seven slides are identical, while the video on the last slide is replaced by a static image):

slidelo

To perform the analysis, I duplicated and renamed the two files, replacing the original extension with ‘ZIP’, and then unzipped them to create two folders containing all the files from their respective XML schemas.

The LibreOffice folder is very similar to the one created by Calc and Writer, containing five subfolders – three of which are identical to those of the ODS and ODT files – and five files. manifest.rdf is missing, but all the others are present and have the same characteristics. The Media and Pictures folders were added to contain multimedia content and images. Once again, all the content is located in the content.xml file, while the other files contain instructions for displaying the slides correctly and for displaying elements other than text.

Therefore, despite the diversity of the three applications (Calc, Writer and Impress), we are faced with an extremely consistent internal file structure, as one would expect from a standard that aims to simplify life for users and developers. This consistency is a key benefit and simplifies the reproducibility of the standard format.

The Microsoft 365 folder contains three subfolders and the [Content_Types].xml file, as with the XLSX and DOCX files examined in the last two weeks. One of the folders has a different name, but this relates to the application and does not increase complexity. Opening the ‘[Content_Types].xml’ file provides information about the other files, including those in the subfolders.

In this case, the content is located in eight slide*.xml files (where the asterisk is a sequential number) inside the slide folder within the ppt folder. These folders and files are completely different to those in the XLSX and DOCX files, but information relevant to displaying slides on screen is scattered throughout them. Again, there are no technical reasons for the differences in the XML schemas of the three files other than to make their internal structures more complex. This unnecessary complexity is also reflected in the XML files describing the contents of the presentation.

The ODP file

As with ODS and ODT files, the content.xml file is divided into two parts: the description of styles, which varies depending on the number and characteristics of the styles used in the document; and the description of the content itself, which varies depending on its length. In the case of a presentation, the style description can be extremely detailed and quite long if the slides contain different elements, as in the document I created for this comparison.

To avoid repetition, I extracted the first part of the content.xml file and simplified the style descriptions where they were repetitive (e.g. slide 7, where each coloured box corresponds to a style). In all these cases, I removed the less significant descriptions, leaving only the most detailed one.

The sequence is as follows: slide style; graphic element style (specifically, the red box on slide 7); title style; table, column, row and cell style; paragraph style; text style; and bullet point style.

CONTENT.XML (style description).

<office:automatic-styles>
<style:style style:name=”dp1″ style:family=”drawing-page”>
<style:drawing-page-properties presentation:background-visible=”true” presentation:background-objects-visible=”true” presentation:display-footer=”true” presentation:display-page-number=”false” presentation:display-date-time=”true”/>
</style:style>
<style:style style:name=”gr4″ style:family=”graphic” style:parent-style-name=”standard”>
<style:graphic-properties svg:stroke-color=”#000000″ draw:fill-color=”#ff0000″ draw:textarea-horizontal-align=”justify” draw:textarea-vertical-align=”middle” draw:auto-grow-height=”false” fo:min-height=”2.854cm” fo:min-width=”3.509cm” loext:decorative=”false”/>
</style:style>
<style:style style:name=”pr1″ style:family=”presentation” style:parent-style-name=”Default-title”>
<style:graphic-properties fo:min-height=”2.63cm” loext:decorative=”false”/>
<style:paragraph-properties style:writing-mode=”lr-tb”/>
</style:style>
<style:style style:name=”co1″ style:family=”table-column”>
<style:table-column-properties style:column-width=”11.988cm” style:use-optimal-column-width=”false”/>
</style:style>
<style:style style:name=”ro1″ style:family=”table-row”>
<style:table-row-properties style:row-height=”1.683cm” style:use-optimal-row-height=”false”/>
</style:style>
<style:style style:name=”ce1″ style:family=”table-cell”>
<style:text-properties style:font-name=”Aptos” fo:font-size=”24pt” style:font-size-asian=”24pt” style:font-size-complex=”24pt”/>
</style:style>
<style:style style:name=”P1″ style:family=”paragraph”>
<style:text-properties style:font-name=”Aptos” fo:font-size=”36pt” fo:font-weight=”bold” style:font-size-asian=”36pt” style:font-weight-asian=”bold” style:font-size-complex=”36pt” style:font-weight-complex=”bold”/>
<style:style style:name=”T1″ style:family=”text”>
<style:text-properties style:font-name=”Aptos” fo:font-size=”36pt” fo:font-weight=”bold” style:font-size-asian=”36pt” style:font-weight-asian=”bold” style:font-size-complex=”36pt” style:font-weight-complex=”bold”/>
</style:style>
<text:list-style style:name=”L1″>
<text:list-level-style-bullet text:level=”1″ text:bullet-char=”●”>
<style:list-level-properties text:min-label-width=”0.6cm”/>
<style:text-properties fo:font-family=”StarSymbol” style:use-window-font-color=”true” fo:font-size=”45%”/>
</text:list-level-style-bullet>
</text:list-style>
</office:automatic-styles>

CONTENT.XML (content description)

<office:body>
<office:presentation>
<draw:page draw:name=”page1″ draw:style-name=”dp1″ draw:master-page-name=”Default” presentation:presentation-page-layout-name=”AL1T0″>
<draw:frame presentation:style-name=”pr1″ draw:text-style-name=”P1″ draw:layer=”layout” svg:width=”25.199cm” svg:height=”2.63cm” svg:x=”1.4cm” svg:y=”0.627cm” presentation:class=”title” presentation:user-transformed=”true”>
<draw:text-box>
<text:p text:style-name=”P1″>
<text:span text:style-name=”T1″>Lorem Ipsum</text:span>
</text:p>
</draw:text-box>
</draw:frame>
<draw:frame presentation:style-name=”pr2″ draw:text-style-name=”P3″ draw:layer=”layout” svg:width=”23.952cm” svg:height=”8.03cm” svg:x=”2.019cm” svg:y=”3.992cm” presentation:class=”subtitle” presentation:user-transformed=”true”>
<draw:text-box>
<text:p text:style-name=”P2″>
<text:span text:style-name=”T2″>Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit…</text:span>
</text:p>
</draw:text-box>
</draw:frame>
<presentation:notes draw:style-name=”dp2″>
<draw:page-thumbnail draw:style-name=”gr1″ draw:layer=”layout” svg:width=”14.848cm” svg:height=”11.136cm” svg:x=”3.075cm” svg:y=”2.257cm” draw:page-number=”1″ presentation:class=”page”/>
<draw:frame presentation:style-name=”pr3″ draw:text-style-name=”P4″ draw:layer=”layout” svg:width=”16.799cm” svg:height=”13.364cm” svg:x=”2.1cm” svg:y=”14.107cm” presentation:class=”notes” presentation:placeholder=”true”>
<draw:text-box/>
</draw:frame>
</presentation:notes>
</draw:page>
<draw:page draw:name=”page2″ draw:style-name=”dp1″ draw:master-page-name=”Default” presentation:presentation-page-layout-name=”AL2T32″>
<draw:frame presentation:style-name=”pr4″ draw:text-style-name=”P5″ draw:layer=”layout” svg:width=”23.975cm” svg:height=”11.976cm” svg:x=”2.019cm” svg:y=”2.019cm” presentation:class=”subtitle” presentation:user-transformed=”true”>
<draw:text-box>
<text:p text:style-name=”P2″>
<text:span text:style-name=”T3″>Lorem ipsum dolor sit amet, consectetur adipiscing elit. In at sodales arcu, sollicitudin eleifend justo. Integer in ornare leo. Pellentesque ultrices sapien pharetra lectus finibus cursus. Vestibulum pulvinar, ex sed interdum pharetra, est risus efficitur arcu, ac aliquet ante diam ac eros. Sed vitae dui nec odio rutrum ornare. Cras in neque et neque cursus vehicula. Mauris posuere sed lorem at faucibus.</text:span>
</text:p>
</draw:text-box>
</draw:frame>
<presentation:notes draw:style-name=”dp2″>
<draw:page-thumbnail draw:style-name=”gr1″ draw:layer=”layout” svg:width=”14.848cm” svg:height=”11.136cm” svg:x=”3.075cm” svg:y=”2.257cm” draw:page-number=”2″ presentation:class=”page”/>
<draw:frame presentation:style-name=”pr3″ draw:text-style-name=”P4″ draw:layer=”layout” svg:width=”16.799cm” svg:height=”13.364cm” svg:x=”2.1cm” svg:y=”14.107cm” presentation:class=”notes” presentation:placeholder=”true”>
<draw:text-box/>
</draw:frame>
</presentation:notes>
</draw:page>
<draw:page draw:name=”page3″ draw:style-name=”dp1″ draw:master-page-name=”Default” presentation:presentation-page-layout-name=”AL3T1″>
<draw:frame presentation:style-name=”pr5″ draw:text-style-name=”P1″ draw:layer=”layout” svg:width=”25.199cm” svg:height=”2.63cm” svg:x=”1.4cm” svg:y=”0.627cm” presentation:class=”title”>
<draw:text-box>
<text:p text:style-name=”P1″>
<text:span text:style-name=”T1″>Mauris efficitur volutpat dictum</text:span>
</text:p>
</draw:text-box>
</draw:frame>
<draw:frame presentation:style-name=”pr6″ draw:text-style-name=”P6″ draw:layer=”layout” svg:width=”25.199cm” svg:height=”10.049cm” svg:x=”1.4cm” svg:y=”3.992cm” presentation:class=”outline” presentation:user-transformed=”true”>
<draw:text-box>
<text:list text:style-name=”L2″>
<text:list-item>
<text:p text:style-name=”P6″>
<text:span text:style-name=”T3″>Praesent tempus sodales lacus at accumsan.</text:span>
</text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name=”P6″>
<text:span text:style-name=”T2″>Pellentesque vel neque rutrum, posuere sapien eget, eleifend leo.</text:span>
</text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name=”P6″>
<text:span text:style-name=”T2″>Proin ut ultricies magna.</text:span>
</text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name=”P6″>
<text:span text:style-name=”T2″>Nulla facilisi.</text:span>
</text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name=”P6″>
<text:span text:style-name=”T2″>Donec sed risus quis tellus facilisis elementum.</text:span>
</text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name=”P6″>
<text:span text:style-name=”T2″>Vivamus sit amet semper nisl, vel tristique mi.</text:span>
</text:p>
</text:list-item>
<text:list-item>
<text:p text:style-name=”P6″>
<text:span text:style-name=”T2″>Aenean lobortis neque in malesuada ornare.</text:span>
</text:p>
</text:list-item>
</text:list>
</draw:text-box>
</draw:frame>
<presentation:notes draw:style-name=”dp2″>
<draw:page-thumbnail draw:style-name=”gr1″ draw:layer=”layout” svg:width=”14.848cm” svg:height=”11.136cm” svg:x=”3.075cm” svg:y=”2.257cm” draw:page-number=”3″ presentation:class=”page”/>
<draw:frame presentation:style-name=”pr3″ draw:text-style-name=”P4″ draw:layer=”layout” svg:width=”16.799cm” svg:height=”13.364cm” svg:x=”2.1cm” svg:y=”14.107cm” presentation:class=”notes” presentation:placeholder=”true”>
<draw:text-box/>
</draw:frame>
</presentation:notes>
</draw:page>
<draw:page draw:name=”page4″ draw:style-name=”dp1″ draw:master-page-name=”Default” presentation:presentation-page-layout-name=”AL3T1″>
<draw:frame presentation:style-name=”pr5″ draw:text-style-name=”P1″ draw:layer=”layout” svg:width=”25.199cm” svg:height=”2.63cm” svg:x=”1.4cm” svg:y=”0.627cm” presentation:class=”title”>
<draw:text-box>
<text:p text:style-name=”P1″>
<text:span text:style-name=”T1″>Proin sed mattis elit</text:span>
</text:p>
</draw:text-box>
</draw:frame>
<draw:frame draw:style-name=”gr2″ draw:layer=”layout” svg:width=”23.974cm” svg:height=”8.274cm” svg:x=”2.042cm” svg:y=”3.964cm” presentation:class=”table” presentation:user-transformed=”true”>
<table:table table:template-name=”default” table:use-first-row-styles=”true” table:use-banding-rows-styles=”true”>
<table:table-column table:style-name=”co1″/>
<table:table-column table:style-name=”co2″/>
<table:table-row table:style-name=”ro1″ table:default-cell-style-name=”ce1″>
<table:table-cell>
<text:p text:style-name=”P7″>Aenean ultricies turpis eu erat euismod porta.</text:p>
</table:table-cell>
<table:table-cell>
<text:p text:style-name=”P7″>Maecenas nec ullamcorper odio, ac tincidunt metus.</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name=”ro1″ table:default-cell-style-name=”ce1″>
<table:table-cell>
<text:p text:style-name=”P7″>Duis volutpat sapien at interdum consequat.</text:p>
</table:table-cell>
<table:table-cell>
<text:p text:style-name=”P7″>Donec vel semper nisl.</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name=”ro1″ table:default-cell-style-name=”ce1″>
<table:table-cell>
<text:p text:style-name=”P7″>Sed scelerisque odio non justo suscipit congue.</text:p>
</table:table-cell>
<table:table-cell>
<text:p text:style-name=”P7″>Maecenas convallis quis neque at elementum.</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name=”ro2″ table:default-cell-style-name=”ce1″>
<table:table-cell table:number-columns-spanned=”2″>
<text:p text:style-name=”P7″>In fringilla tortor id orci porttitor, a euismod velit molestie.</text:p>
</table:table-cell>
<table:covered-table-cell/>
</table:table-row>
</table:table>
<draw:image xlink:href=”Pictures/TablePreview1.svm” xlink:type=”simple” xlink:show=”embed” xlink:actuate=”onLoad”/>
</draw:frame>
<presentation:notes draw:style-name=”dp2″>
<draw:page-thumbnail draw:style-name=”gr1″ draw:layer=”layout” svg:width=”14.848cm” svg:height=”11.136cm” svg:x=”3.075cm” svg:y=”2.257cm” draw:page-number=”4″ presentation:class=”page”/>
<draw:frame presentation:style-name=”pr3″ draw:text-style-name=”P4″ draw:layer=”layout” svg:width=”16.799cm” svg:height=”13.364cm” svg:x=”2.1cm” svg:y=”14.107cm” presentation:class=”notes” presentation:placeholder=”true”>
<draw:text-box/>
</draw:frame>
</presentation:notes>
</draw:page>
<draw:page draw:name=”page5″ draw:style-name=”dp1″ draw:master-page-name=”Default” presentation:presentation-page-layout-name=”AL4T19″>
<draw:frame presentation:style-name=”pr5″ draw:text-style-name=”P1″ draw:layer=”layout” svg:width=”25.199cm” svg:height=”2.63cm” svg:x=”1.4cm” svg:y=”0.627cm” presentation:class=”title”>
<draw:text-box>
<text:p text:style-name=”P1″>
<text:span text:style-name=”T1″>Aliquam lobortis rutrum massa</text:span>
</text:p>
</draw:text-box>
</draw:frame>
<draw:frame draw:style-name=”gr3″ draw:text-style-name=”P8″ draw:layer=”layout” svg:width=”19.983cm” svg:height=”10.119cm” svg:x=”4.015cm” svg:y=”3.945cm”>
<draw:image xlink:href=”Pictures/10004DCD0000333B00001B9032A76A02.svg” xlink:type=”simple” xlink:show=”embed” xlink:actuate=”onLoad” draw:mime-type=”image/svg+xml”>
<text:p/>
</draw:image>
<draw:image xlink:href=”Pictures/10000001000001F00000010B2D77AC6F.png” xlink:type=”simple” xlink:show=”embed” xlink:actuate=”onLoad” draw:mime-type=”image/png”/>
</draw:frame>
<presentation:notes draw:style-name=”dp2″>
<draw:page-thumbnail draw:style-name=”gr1″ draw:layer=”layout” svg:width=”14.848cm” svg:height=”11.136cm” svg:x=”3.075cm” svg:y=”2.257cm” draw:page-number=”5″ presentation:class=”page”/>
<draw:frame presentation:style-name=”pr3″ draw:text-style-name=”P4″ draw:layer=”layout” svg:width=”16.799cm” svg:height=”13.364cm” svg:x=”2.1cm” svg:y=”14.107cm” presentation:class=”notes” presentation:placeholder=”true”>
<draw:text-box/>
</draw:frame>
</presentation:notes>
</draw:page>
<draw:page draw:name=”page6″ draw:style-name=”dp1″ draw:master-page-name=”Default”>
<draw:frame draw:style-name=”gr3″ draw:text-style-name=”P8″ draw:layer=”layout” svg:width=”23.956cm” svg:height=”11.952cm” svg:x=”2.049cm” svg:y=”2.019cm”>
<draw:image xlink:href=”Pictures/100000000000140800000C3850FDFB6D.jpg” xlink:type=”simple” xlink:show=”embed” xlink:actuate=”onLoad” draw:mime-type=”image/jpeg”>
<text:p/>
</draw:image>
</draw:frame>
<presentation:notes draw:style-name=”dp2″>
<draw:page-thumbnail draw:style-name=”gr1″ draw:layer=”layout” svg:width=”14.848cm” svg:height=”11.136cm” svg:x=”3.075cm” svg:y=”2.257cm” draw:page-number=”6″ presentation:class=”page”/>
<draw:frame presentation:style-name=”pr3″ draw:text-style-name=”P4″ draw:layer=”layout” svg:width=”16.799cm” svg:height=”13.364cm” svg:x=”2.1cm” svg:y=”14.107cm” presentation:class=”notes” presentation:placeholder=”true”>
<draw:text-box/>
</draw:frame>
</presentation:notes>
</draw:page>
<draw:page draw:name=”page7″ draw:style-name=”dp1″ draw:master-page-name=”Default” presentation:presentation-page-layout-name=”AL4T19″>
<draw:frame presentation:style-name=”pr1″ draw:text-style-name=”P1″ draw:layer=”layout” svg:width=”25.199cm” svg:height=”2.63cm” svg:x=”1.4cm” svg:y=”0.627cm” presentation:class=”title” presentation:user-transformed=”true”>
<draw:text-box>
<text:p text:style-name=”P1″>
<text:span text:style-name=”T1″>Nullam ac laoreet orci</text:span>
</text:p>
</draw:text-box>
</draw:frame>
<draw:custom-shape draw:style-name=”gr4″ draw:text-style-name=”P9″ draw:layer=”layout” svg:width=”4.009cm” svg:height=”3.104cm” svg:x=”2.004cm” svg:y=”11.396cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr5″ draw:text-style-name=”P10″ draw:layer=”layout” svg:width=”4.008cm” svg:height=”3.104cm” svg:x=”8.668cm” svg:y=”11.396cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr6″ draw:text-style-name=”P11″ draw:layer=”layout” svg:width=”4.008cm” svg:height=”3.104cm” svg:x=”15.332cm” svg:y=”11.353cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr7″ draw:text-style-name=”P12″ draw:layer=”layout” svg:width=”4.009cm” svg:height=”3.104cm” svg:x=”21.993cm” svg:y=”11.396cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr8″ draw:text-style-name=”P9″ draw:layer=”layout” svg:width=”4.009cm” svg:height=”3.103cm” svg:x=”2.003cm” svg:y=”7.47cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr9″ draw:text-style-name=”P10″ draw:layer=”layout” svg:width=”4.008cm” svg:height=”3.103cm” svg:x=”8.667cm” svg:y=”7.47cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr10″ draw:text-style-name=”P11″ draw:layer=”layout” svg:width=”4.008cm” svg:height=”3.103cm” svg:x=”15.331cm” svg:y=”7.427cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr11″ draw:text-style-name=”P12″ draw:layer=”layout” svg:width=”4.009cm” svg:height=”3.103cm” svg:x=”21.992cm” svg:y=”7.47cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr4″ draw:text-style-name=”P9″ draw:layer=”layout” svg:width=”4.009cm” svg:height=”3.104cm” svg:x=”2.002cm” svg:y=”3.543cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr5″ draw:text-style-name=”P10″ draw:layer=”layout” svg:width=”4.008cm” svg:height=”3.104cm” svg:x=”8.666cm” svg:y=”3.543cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr6″ draw:text-style-name=”P11″ draw:layer=”layout” svg:width=”4.008cm” svg:height=”3.104cm” svg:x=”15.33cm” svg:y=”3.5cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<draw:custom-shape draw:style-name=”gr7″ draw:text-style-name=”P12″ draw:layer=”layout” svg:width=”4.009cm” svg:height=”3.104cm” svg:x=”21.991cm” svg:y=”3.543cm”>
<text:p/>
<draw:enhanced-geometry svg:viewBox=”0 0 21600 21600″ draw:mirror-horizontal=”false” draw:mirror-vertical=”false” draw:type=”rectangle” draw:enhanced-path=”M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N”/>
</draw:custom-shape>
<presentation:notes draw:style-name=”dp2″>
<draw:page-thumbnail draw:style-name=”gr1″ draw:layer=”layout” svg:width=”14.848cm” svg:height=”11.136cm” svg:x=”3.075cm” svg:y=”2.257cm” draw:page-number=”7″ presentation:class=”page”/>
<draw:frame presentation:style-name=”pr3″ draw:text-style-name=”P4″ draw:layer=”layout” svg:width=”16.799cm” svg:height=”13.364cm” svg:x=”2.1cm” svg:y=”14.107cm” presentation:class=”notes” presentation:placeholder=”true”>
<draw:text-box/>
</draw:frame>
</presentation:notes>
</draw:page>
<draw:page draw:name=”page8″ draw:style-name=”dp1″ draw:master-page-name=”Default” presentation:presentation-page-layout-name=”AL3T1″>
<draw:frame presentation:style-name=”pr5″ draw:text-style-name=”P1″ draw:layer=”layout” svg:width=”25.199cm” svg:height=”2.63cm” svg:x=”1.4cm” svg:y=”0.627cm” presentation:class=”title”>
<draw:text-box>
<text:p text:style-name=”P1″>
<text:span text:style-name=”T1″>It could work</text:span>
</text:p>
</draw:text-box>
</draw:frame>
<draw:frame draw:style-name=”gr2″ draw:layer=”layout” svg:width=”16.608cm” svg:height=”9.134cm” svg:x=”5.695cm” svg:y=”3.684cm” presentation:class=”object”>
<draw:plugin xlink:href=”Media/It Could Work – Young Frankenstein.mp4″ xlink:type=”simple” xlink:show=”embed” xlink:actuate=”onLoad” draw:mime-type=”video/mp4″>
<draw:param draw:name=”Loop” draw:value=”false”/>
<draw:param draw:name=”Mute” draw:value=”false”/>
<draw:param draw:name=”VolumeDB” draw:value=”0″/>
</draw:plugin>
</draw:frame>
<presentation:notes draw:style-name=”dp2″>
<draw:page-thumbnail draw:style-name=”gr1″ draw:layer=”layout” svg:width=”14.848cm” svg:height=”11.136cm” svg:x=”3.075cm” svg:y=”2.257cm” draw:page-number=”8″ presentation:class=”page”/>
<draw:frame presentation:style-name=”pr3″ draw:text-style-name=”P4″ draw:layer=”layout” svg:width=”16.799cm” svg:height=”13.364cm” svg:x=”2.1cm” svg:y=”14.107cm” presentation:class=”notes” presentation:placeholder=”true”>
<draw:text-box/>
</draw:frame>
</presentation:notes>
</draw:page>
<presentation:settings presentation:mouse-visible=”false”/>
</office:presentation>
</office:body>

Overall, ODP’s XML file is slightly more complex than ODS’ and ODT’s XML files due to the greater complexity of the styles section. However, this is offset by the lower complexity of the content section. Once you understand the logic — the slide number sequence, style descriptions, descriptions of elements that do not fall within the styles and content descriptions — it is fairly easy to read, even for a basic user (and certainly for a developer).

One detail to note is that the names of the images (renamed with a numerical code) and videos (with the same name as the MP4 file) are consistent across the Pictures and Media folders and content.xml to facilitate identification.

The PPTX file

As the seven slide.xml files contain most of the information, I will focus on them. To avoid repetition, I am only publishing slides 5, 3, 4, 6, 7 and 8.

SLIDE3.XML

<p:cSld>
<p:spTree>
<p:nvGrpSpPr>
<p:cNvPr id=”1″ name=””/>
<p:cNvGrpSpPr/>
<p:nvPr/>
</p:nvGrpSpPr>
<p:grpSpPr>
<a:xfrm>
<a:off x=”0″ y=”0″/>
<a:ext cx=”0″ cy=”0″/>
<a:chOff x=”0″ y=”0″/>
<a:chExt cx=”0″ cy=”0″/>
</a:xfrm>
</p:grpSpPr>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”15″ name=”PlaceHolder 1″/>
<p:cNvSpPr>
<a:spLocks noGrp=”1″/>
</p:cNvSpPr>
<p:nvPr>
<p:ph type=”title”/>
</p:nvPr>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”504000″ y=”225720″/>
<a:ext cx=”9071640″ cy=”946800″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:noFill/>
<a:ln w=”0″>
<a:noFill/>
</a:ln>
</p:spPr>
<p:txBody>
<a:bodyPr lIns=”0″ tIns=”0″ rIns=”0″ bIns=”0″ anchor=”ctr”>
<a:spAutoFit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″ algn=”ctr”>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”3600″ b=”1″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Mauris efficitur volutpat dictum</a:t>
</a:r>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”16″ name=”PlaceHolder 2″/>
<p:cNvSpPr>
<a:spLocks noGrp=”1″/>
</p:cNvSpPr>
<p:nvPr>
<p:ph/>
</p:nvPr>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”504000″ y=”1437120″/>
<a:ext cx=”9071640″ cy=”3617640″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:noFill/>
<a:ln w=”0″>
<a:noFill/>
</a:ln>
</p:spPr>
<p:txBody>
<a:bodyPr lIns=”0″ tIns=”0″ rIns=”0″ bIns=”0″ anchor=”t”>
<a:normAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:pPr marL=”432000″ indent=”-324000″>
<a:spcBef>
<a:spcPts val=”1057″/>
</a:spcBef>
<a:buClr>
<a:srgbClr val=”000000″/>
</a:buClr>
<a:buSzPct val=”45000″/>
<a:buFont typeface=”Wingdings” charset=”2″/>
<a:buChar char=””/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Praesent tempus sodales lacus at accumsan.</a:t>
</a:r>
</a:p>
<a:p>
<a:pPr marL=”432000″ indent=”-324000″>
<a:spcBef>
<a:spcPts val=”1057″/>
</a:spcBef>
<a:buClr>
<a:srgbClr val=”000000″/>
</a:buClr>
<a:buSzPct val=”45000″/>
<a:buFont typeface=”Wingdings” charset=”2″/>
<a:buChar char=””/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Pellentesque vel neque rutrum, posuere sapien eget, eleifend leo.</a:t>
</a:r>
</a:p>
<a:p>
<a:pPr marL=”432000″ indent=”-324000″>
<a:spcBef>
<a:spcPts val=”1057″/>
</a:spcBef>
<a:buClr>
<a:srgbClr val=”000000″/>
</a:buClr>
<a:buSzPct val=”45000″/>
<a:buFont typeface=”Wingdings” charset=”2″/>
<a:buChar char=””/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Proin ut ultricies magna.</a:t>
</a:r>
</a:p>
<a:p>
<a:pPr marL=”432000″ indent=”-324000″>
<a:spcBef>
<a:spcPts val=”1057″/>
</a:spcBef>
<a:buClr>
<a:srgbClr val=”000000″/>
</a:buClr>
<a:buSzPct val=”45000″/>
<a:buFont typeface=”Wingdings” charset=”2″/>
<a:buChar char=””/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Nulla facilisi.</a:t>
</a:r>
</a:p>
<a:p>
<a:pPr marL=”432000″ indent=”-324000″>
<a:spcBef>
<a:spcPts val=”1057″/>
</a:spcBef>
<a:buClr>
<a:srgbClr val=”000000″/>
</a:buClr>
<a:buSzPct val=”45000″/>
<a:buFont typeface=”Wingdings” charset=”2″/>
<a:buChar char=””/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Donec sed risus quis tellus facilisis elementum.</a:t>
</a:r>
</a:p>
<a:p>
<a:pPr marL=”432000″ indent=”-324000″>
<a:spcBef>
<a:spcPts val=”1057″/>
</a:spcBef>
<a:buClr>
<a:srgbClr val=”000000″/>
</a:buClr>
<a:buSzPct val=”45000″/>
<a:buFont typeface=”Wingdings” charset=”2″/>
<a:buChar char=””/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Vivamus sit amet semper nisl, vel tristique mi.</a:t>
</a:r>
</a:p>
<a:p>
<a:pPr marL=”432000″ indent=”-324000″>
<a:spcBef>
<a:spcPts val=”1057″/>
</a:spcBef>
<a:buClr>
<a:srgbClr val=”000000″/>
</a:buClr>
<a:buSzPct val=”45000″/>
<a:buFont typeface=”Wingdings” charset=”2″/>
<a:buChar char=””/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Aenean lobortis neque in malesuada ornare.</a:t>
</a:r>
</a:p>
</p:txBody>
</p:sp>
</p:spTree>
</p:cSld>
<p:clrMapOvr>
<a:masterClrMapping/>
</p:clrMapOvr>
</p:sld>

SLIDE4.XML

<p:cSld>
<p:spTree>
<p:nvGrpSpPr>
<p:cNvPr id=”1″ name=””/>
<p:cNvGrpSpPr/>
<p:nvPr/>
</p:nvGrpSpPr>
<p:grpSpPr>
<a:xfrm>
<a:off x=”0″ y=”0″/>
<a:ext cx=”0″ cy=”0″/>
<a:chOff x=”0″ y=”0″/>
<a:chExt cx=”0″ cy=”0″/>
</a:xfrm>
</p:grpSpPr>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”17″ name=”PlaceHolder 1″/>
<p:cNvSpPr>
<a:spLocks noGrp=”1″/>
</p:cNvSpPr>
<p:nvPr>
<p:ph type=”title”/>
</p:nvPr>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”504000″ y=”225720″/>
<a:ext cx=”9071640″ cy=”946800″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:noFill/>
<a:ln w=”0″>
<a:noFill/>
</a:ln>
</p:spPr>
<p:txBody>
<a:bodyPr lIns=”0″ tIns=”0″ rIns=”0″ bIns=”0″ anchor=”ctr”>
<a:spAutoFit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″ algn=”ctr”>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”3600″ b=”1″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Proin sed mattis elit</a:t>
</a:r>
</a:p>
</p:txBody>
</p:sp>
<p:graphicFrame>
<p:nvGraphicFramePr>
<p:cNvPr id=”18″ name=”Tabella 17″/>
<p:cNvGraphicFramePr/>
<p:nvPr/>
</p:nvGraphicFramePr>
<p:xfrm>
<a:off x=”735120″ y=”1427040″/>
<a:ext cx=”8631000″ cy=”2934720″/>
</p:xfrm>
<a:graphic>
<a:graphicData uri=”http://schemas.openxmlformats.org/drawingml/2006/table”>
<a:tbl>
<a:tblPr/>
<a:tblGrid>
<a:gridCol w=”4315680″>
<a:extLst>
<a:ext uri=”{9D8B030D-6E8A-4147-A177-3AD203B41FA5}”>
<a16:colId xmlns:a16=”http://schemas.microsoft.com/office/drawing/2014/main” val=”20000″/>
</a:ext>
</a:extLst>
</a:gridCol>
<a:gridCol w=”4315320″>
<a:extLst>
<a:ext uri=”{9D8B030D-6E8A-4147-A177-3AD203B41FA5}”>
<a16:colId xmlns:a16=”http://schemas.microsoft.com/office/drawing/2014/main” val=”20001″/>
</a:ext>
</a:extLst>
</a:gridCol>
</a:tblGrid>
<a:tr h=”605880″>
<a:tc>
<a:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Aenean ultricies turpis eu erat euismod porta.</a:t>
</a:r>
</a:p>
</a:txBody>
<a:tcPr marL=”90000″ marR=”90000″ marT=”46800″ marB=”46800″>
<a:lnL w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnL>
<a:lnR w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnR>
<a:lnT w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnT>
<a:lnB w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnB>
<a:solidFill>
<a:srgbClr val=”B3B3B3″/>
</a:solidFill>
</a:tcPr>
</a:tc>
<a:tc>
<a:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Maecenas nec ullamcorper odio, ac tincidunt metus.</a:t>
</a:r>
</a:p>
</a:txBody>
<a:tcPr marL=”90000″ marR=”90000″ marT=”46800″ marB=”46800″>
<a:lnL w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnL>
<a:lnR w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnR>
<a:lnT w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnT>
<a:lnB w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnB>
<a:solidFill>
<a:srgbClr val=”B3B3B3″/>
</a:solidFill>
</a:tcPr>
</a:tc>
<a:extLst>
<a:ext uri=”{0D108BD9-81ED-4DB2-BD59-A6C34878D82A}”>
<a16:rowId xmlns:a16=”http://schemas.microsoft.com/office/drawing/2014/main” val=”10000″/>
</a:ext>
</a:extLst>
</a:tr>
<a:tr h=”605880″>
<a:tc>
<a:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Duis volutpat sapien at interdum consequat.</a:t>
</a:r>
</a:p>
</a:txBody>
<a:tcPr marL=”90000″ marR=”90000″ marT=”46800″ marB=”46800″>
<a:lnL w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnL>
<a:lnR w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnR>
<a:lnT w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnT>
<a:lnB w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnB>
<a:solidFill>
<a:srgbClr val=”CCCCCC”/>
</a:solidFill>
</a:tcPr>
</a:tc>
<a:tc>
<a:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Donec vel semper nisl.</a:t>
</a:r>
</a:p>
</a:txBody>
<a:tcPr marL=”90000″ marR=”90000″ marT=”46800″ marB=”46800″>
<a:lnL w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnL>
<a:lnR w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnR>
<a:lnT w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnT>
<a:lnB w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnB>
<a:solidFill>
<a:srgbClr val=”CCCCCC”/>
</a:solidFill>
</a:tcPr>
</a:tc>
<a:extLst>
<a:ext uri=”{0D108BD9-81ED-4DB2-BD59-A6C34878D82A}”>
<a16:rowId xmlns:a16=”http://schemas.microsoft.com/office/drawing/2014/main” val=”10001″/>
</a:ext>
</a:extLst>
</a:tr>
<a:tr h=”605880″>
<a:tc>
<a:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Sed scelerisque odio non justo suscipit congue.</a:t>
</a:r>
</a:p>
</a:txBody>
<a:tcPr marL=”90000″ marR=”90000″ marT=”46800″ marB=”46800″>
<a:lnL w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnL>
<a:lnR w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnR>
<a:lnT w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnT>
<a:lnB w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnB>
<a:solidFill>
<a:srgbClr val=”E6E6E6″/>
</a:solidFill>
</a:tcPr>
</a:tc>
<a:tc>
<a:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Maecenas convallis quis neque at elementum.</a:t>
</a:r>
</a:p>
</a:txBody>
<a:tcPr marL=”90000″ marR=”90000″ marT=”46800″ marB=”46800″>
<a:lnL w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnL>
<a:lnR w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnR>
<a:lnT w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnT>
<a:lnB w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnB>
<a:solidFill>
<a:srgbClr val=”E6E6E6″/>
</a:solidFill>
</a:tcPr>
</a:tc>
<a:extLst>
<a:ext uri=”{0D108BD9-81ED-4DB2-BD59-A6C34878D82A}”>
<a16:rowId xmlns:a16=”http://schemas.microsoft.com/office/drawing/2014/main” val=”10002″/>
</a:ext>
</a:extLst>
</a:tr>
<a:tr h=”349920″>
<a:tc gridSpan=”2″>
<a:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>In fringilla tortor id orci porttitor, a euismod velit molestie.</a:t>
</a:r>
</a:p>
</a:txBody>
<a:tcPr marL=”90000″ marR=”90000″ marT=”46800″ marB=”46800″>
<a:lnL w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnL>
<a:lnR w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnR>
<a:lnT w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnT>
<a:lnB w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnB>
<a:solidFill>
<a:srgbClr val=”CCCCCC”/>
</a:solidFill>
</a:tcPr>
</a:tc>
<a:tc hMerge=”1″>
<a:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″>
<a:buNone/>
</a:pPr>
<a:endParaRPr lang=”en-GB” sz=”2400″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:endParaRPr>
</a:p>
</a:txBody>
<a:tcPr marL=”90000″ marR=”90000″ marT=”46800″ marB=”46800″>
<a:lnL w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnL>
<a:lnR w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnR>
<a:lnT w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnT>
<a:lnB w=”720″>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:prstDash val=”solid”/>
</a:lnB>
<a:solidFill>
<a:srgbClr val=”CCCCCC”/>
</a:solidFill>
</a:tcPr>
</a:tc>
<a:extLst>
<a:ext uri=”{0D108BD9-81ED-4DB2-BD59-A6C34878D82A}”>
<a16:rowId xmlns:a16=”http://schemas.microsoft.com/office/drawing/2014/main” val=”10003″/>
</a:ext>
</a:extLst>
</a:tr>
</a:tbl>
</a:graphicData>
</a:graphic>
</p:graphicFrame>
</p:spTree>
</p:cSld>
<p:clrMapOvr>
<a:masterClrMapping/>
</p:clrMapOvr>
</p:sld>

SLIDE6.XML

<p:cSld>
<p:spTree>
<p:nvGrpSpPr>
<p:cNvPr id=”1″ name=””/>
<p:cNvGrpSpPr/>
<p:nvPr/>
</p:nvGrpSpPr>
<p:grpSpPr>
<a:xfrm>
<a:off x=”0″ y=”0″/>
<a:ext cx=”0″ cy=”0″/>
<a:chOff x=”0″ y=”0″/>
<a:chExt cx=”0″ cy=”0″/>
</a:xfrm>
</p:grpSpPr>
<p:pic>
<p:nvPicPr>
<p:cNvPr id=”21″ name=”Immagine 20″/>
<p:cNvPicPr/>
<p:nvPr/>
</p:nvPicPr>
<p:blipFill>
<a:blip r:embed=”rId2″/>
<a:stretch/>
</p:blipFill>
<p:spPr>
<a:xfrm>
<a:off x=”737640″ y=”726840″/>
<a:ext cx=”8624160″ cy=”4302720″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:noFill/>
<a:ln w=”0″>
<a:noFill/>
</a:ln>
</p:spPr>
</p:pic>
</p:spTree>
</p:cSld>
<p:clrMapOvr>
<a:masterClrMapping/>
</p:clrMapOvr>
</p:sld>

SLIDE7.XML

<p:cSld>
<p:spTree>
<p:nvGrpSpPr>
<p:cNvPr id=”1″ name=””/>
<p:cNvGrpSpPr/>
<p:nvPr/>
</p:nvGrpSpPr>
<p:grpSpPr>
<a:xfrm>
<a:off x=”0″ y=”0″/>
<a:ext cx=”0″ cy=”0″/>
<a:chOff x=”0″ y=”0″/>
<a:chExt cx=”0″ cy=”0″/>
</a:xfrm>
</p:grpSpPr>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”22″ name=”PlaceHolder 1″/>
<p:cNvSpPr>
<a:spLocks noGrp=”1″/>
</p:cNvSpPr>
<p:nvPr>
<p:ph type=”title”/>
</p:nvPr>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”504000″ y=”225720″/>
<a:ext cx=”9071640″ cy=”946800″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:noFill/>
<a:ln w=”0″>
<a:noFill/>
</a:ln>
</p:spPr>
<p:txBody>
<a:bodyPr lIns=”0″ tIns=”0″ rIns=”0″ bIns=”0″ anchor=”ctr”>
<a:spAutoFit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″ algn=”ctr”>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”3600″ b=”1″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>Nullam ac laoreet orci</a:t>
</a:r>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”23″ name=”Rettangolo 22″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”721440″ y=”4102560″/>
<a:ext cx=”1443240″ cy=”1117440″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”FF0000″/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”24″ name=”Rettangolo 23″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”3120480″ y=”4102560″/>
<a:ext cx=”1442880″ cy=”1117440″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”00FF00″/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”25″ name=”Rettangolo 24″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”5519520″ y=”4087080″/>
<a:ext cx=”1442880″ cy=”1117440″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”0000FF”/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”26″ name=”Rettangolo 25″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”7917480″ y=”4102560″/>
<a:ext cx=”1443240″ cy=”1117440″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”27″ name=”Rettangolo 26″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”721080″ y=”2689200″/>
<a:ext cx=”1443240″ cy=”1117080″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”FF0000″/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”28″ name=”Rettangolo 27″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”3120120″ y=”2689200″/>
<a:ext cx=”1442880″ cy=”1117080″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”00FF00″/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”29″ name=”Rettangolo 28″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”5519160″ y=”2673720″/>
<a:ext cx=”1442880″ cy=”1117080″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”0000FF”/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”30″ name=”Rettangolo 29″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”7917120″ y=”2689200″/>
<a:ext cx=”1443240″ cy=”1117080″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”31″ name=”Rettangolo 30″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”720720″ y=”1275480″/>
<a:ext cx=”1443240″ cy=”1117440″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”FF0000″/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”32″ name=”Rettangolo 31″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”3119760″ y=”1275480″/>
<a:ext cx=”1442880″ cy=”1117440″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”00FF00″/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”33″ name=”Rettangolo 32″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”5518800″ y=”1260000″/>
<a:ext cx=”1442880″ cy=”1117440″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”0000FF”/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”34″ name=”Rettangolo 33″/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”7916760″ y=”1275480″/>
<a:ext cx=”1443240″ cy=”1117440″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val=”FFFFFF”/>
</a:solidFill>
<a:ln w=”0″>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
</a:ln>
</p:spPr>
<p:style>
<a:lnRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:lnRef>
<a:fillRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:fillRef>
<a:effectRef idx=”0″>
<a:scrgbClr r=”0″ g=”0″ b=”0″/>
</a:effectRef>
<a:fontRef idx=”minor”/>
</p:style>
<p:txBody>
<a:bodyPr wrap=”none” lIns=”90000″ tIns=”45000″ rIns=”90000″ bIns=”45000″ anchor=”ctr”>
<a:noAutofit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:endParaRPr lang=”en-GB” sz=”1800″ b=”0″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Arial”/>
</a:endParaRPr>
</a:p>
</p:txBody>
</p:sp>
</p:spTree>
</p:cSld>

SLIDE8:XLS

<p:cSld>
<p:spTree>
<p:nvGrpSpPr>
<p:cNvPr id=”1″ name=””/>
<p:cNvGrpSpPr/>
<p:nvPr/>
</p:nvGrpSpPr>
<p:grpSpPr>
<a:xfrm>
<a:off x=”0″ y=”0″/>
<a:ext cx=”0″ cy=”0″/>
<a:chOff x=”0″ y=”0″/>
<a:chExt cx=”0″ cy=”0″/>
</a:xfrm>
</p:grpSpPr>
<p:sp>
<p:nvSpPr>
<p:cNvPr id=”35″ name=”PlaceHolder 1″/>
<p:cNvSpPr>
<a:spLocks noGrp=”1″/>
</p:cNvSpPr>
<p:nvPr>
<p:ph type=”title”/>
</p:nvPr>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x=”504000″ y=”225720″/>
<a:ext cx=”9071640″ cy=”946800″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:noFill/>
<a:ln w=”0″>
<a:noFill/>
</a:ln>
</p:spPr>
<p:txBody>
<a:bodyPr lIns=”0″ tIns=”0″ rIns=”0″ bIns=”0″ anchor=”ctr”>
<a:spAutoFit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:pPr indent=”0″ algn=”ctr”>
<a:buNone/>
</a:pPr>
<a:r>
<a:rPr lang=”en-GB” sz=”3600″ b=”1″ u=”none” strike=”noStrike”>
<a:solidFill>
<a:srgbClr val=”000000″/>
</a:solidFill>
<a:effectLst/>
<a:uFillTx/>
<a:latin typeface=”Aptos”/>
</a:rPr>
<a:t>It could work</a:t>
</a:r>
</a:p>
</p:txBody>
</p:sp>
<p:pic>
<p:nvPicPr>
<p:cNvPr id=”36″ name=”Immagine 35″>
<a:hlinkClick r:id=”” action=”ppaction://media”/>
</p:cNvPr>
<p:cNvPicPr/>
<p:nvPr>
<a:videoFile r:link=”rId2″/>
<p:extLst>
<p:ext uri=”{DAA4B4D4-6D71-4841-9C94-3DE7FCFB9230}”>
<p14:media xmlns:p14=”http://schemas.microsoft.com/office/powerpoint/2010/main” r:embed=”rId1″/>
</p:ext>
</p:extLst>
</p:nvPr>
</p:nvPicPr>
<p:blipFill>
<a:blip r:embed=”rId4″/>
<a:stretch>
<a:fillRect/>
</a:stretch>
</p:blipFill>
<p:spPr>
<a:xfrm>
<a:off x=”2050200″ y=”1326240″/>
<a:ext cx=”5978880″ cy=”3288240″/>
</a:xfrm>
<a:prstGeom prst=”rect”>
<a:avLst/>
</a:prstGeom>
<a:ln w=”0″>
<a:noFill/>
</a:ln>
</p:spPr>
</p:pic>
</p:spTree>
</p:cSld>

In the case of PPTX files, the unnecessary complexity is therefore multiplied by the number of slides, and by other factors:

  1. Despite using an English operating system and browser, Microsoft 365 has decided to use Italian, randomly inserting Italian terms into the XML files. For example, the video on slide 8 is labelled ‘Immagine 35’ (why not ‘Video 35’, which would be more accurate?), and the boxes on slide 7 are labelled ‘Rettangolo 22’ (and so on). What would happen if a German user received and saved the presentation? Would the terms “immagine” and “rettangolo” be translated into German, or would they remain in Italian?
  2. The placeholders for images and videos do not match the file names in the media folder. Despite searching through all the XML files, I couldn’t find the string “video1.mp4”, which the video was renamed to in the media folder, nor a reference to the placeholder “Immagine 35” used in the slide8.xml file. The problem is not the file name itself, but the fact that it is impossible for an average user to trace the file due to a lack of correspondence. I am sure that the correspondence is defined in some (extremely cryptic) way because I cannot imagine every PC independently deciding that, wherever “Immagine 35” appears, “video1.mp4” must be displayed. This would go beyond any form of artificial intelligence.
  3. In some cases, the XML tags are incomprehensible and contain serious errors. For instance, in the case of green fill colours, the tag is <a:srgbClr val=”00FF00″>, which clearly references the RGB colour model despite the value being hexadecimal. The content.xml file of the ODP file correctly uses the tag <draw:fill-colour=”#00FF00″>. While “draw:fill-colour” is fairly understandable, “a:srgbClr val” is much less so (and is also incorrect). Moreover, why would there be an “a:” prefix in a programme called PowerPoint? Perhaps because the developer was called Dennis Austin? Why not use “f:” for Forethought then, the company from which Microsoft purchased the software? I’m just joking, of course.

I hope no one has the courage to argue that all these complexities and oddities are essential for displaying the slides correctly, not to mention the errors. For example, why is there an XML file for each slide? Why are there Italian terms in an XML file? Why RGB colour when it is hexadecimal? I’ve been waiting years for a convincing answer, but I still haven’t received one. Perhaps I will get one this time.

Conclusions

Once again, comparing the XML schemas of ODP and PPTX files highlights the unnecessarily complex structure of the latter, given that there is no reason why each slide should have a separate XML file. There is also no reason for the internal structure of PPTX files to differ from that of DOCX files, which in turn differs from that of XLSX files.

As I have explained many times, the reality is what I have described here, without going into technical detail. Microsoft has created a file format that does not respond to the concept of a standard in any way. It is unnecessarily complex and creative, both in terms of the internal structure of the files and the XML schema, including the tags, which are not intuitive, unlike those used by ODF files.

Best practices for the effective use of XML tags recommend the use of clear tag names that describe the enclosed content and the maintenance of consistency in this tagging scheme. In the case of document formats, this means that once a set of XML tags has been defined, they should be used consistently throughout (i.e. the same tags should be used in all files). This is the opposite of what happens with the proprietary OOXML format, which is designed to force users to remain tied to Microsoft 365 (and, previously, to Microsoft Office in its various versions).

ODF, on the other hand, complies with XML best practices, giving developers and users full control over their content, including privacy protection, proper management of sensitive data and the ability to decide what to share and with whom.

ODF is the open, standard document format that we should all use, but only a minority do due to a lack of knowledge about the reality of the OOXML format, and because too many users place messianic trust in Microsoft. This means they remain “handcuffed” to proprietary software.

  • ✇The Document Foundation Blog
  • Release of LibreOffice 25.8.2
    Berlin, 9 October 2025 – LibreOffice 25.8.2, the second minor release of the free, volunteer-supported office suite for personal productivity in office environments, is now available on our download page for Windows, macOS and Linux. This release includes over 60 bug and regression fixes over LibreOffice 25.8 [1] to enhance the software’s stability and robustness. It also solves several interoperability issues with the proprietary Microsoft Office/365 document format and improves the user inter
     

Release of LibreOffice 25.8.2

9 octobre 2025 à 08:09

Berlin, 9 October 2025 – LibreOffice 25.8.2, the second minor release of the free, volunteer-supported office suite for personal productivity in office environments, is now available on our download page for Windows, macOS and Linux.

This release includes over 60 bug and regression fixes over LibreOffice 25.8 [1] to enhance the software’s stability and robustness. It also solves several interoperability issues with the proprietary Microsoft Office/365 document format and improves the user interface and file opening and saving processes.

LibreOffice is the only office suite with a feature set comparable to the market leader. It also offers a range of interface options to suit all user habits, from traditional to modern, and makes the most of different screen form factors by optimising the space available on the desktop to put the maximum number of features just a click or two away.

LibreOffice 25.8.2 is available at www.libreoffice.org/download/.

For users who don’t need the latest features and prefer a version that has undergone more testing and bug fixing, The Document Foundation maintains the LibreOffice 25.2 family, which includes several months of back-ported fixes. The current release is LibreOffice 25.2.6.

The Document Foundation does not provide technical support for users, although they can get it from volunteers on user mailing lists and the Ask LibreOffice website: ask.libreoffice.org

LibreOffice users, free software advocates and community members can support the Document Foundation by making a donation on our donate page.

[1] Fixes in RC1: wiki.documentfoundation.org/Releases/25.8.2/RC1. Fixes in RC2: wiki.documentfoundation.org/Releases/25.8.2/RC2.

  • ✇The Document Foundation Blog
  • LibreOffice 64-bit progress, and support for Amazon Linux 2023
    LibreOffice has been available for Linux since we started the project in 2010. The official builds from The Document Foundation (the non-profit entity behind LibreOffice) are designed to be self-contained and distribution agnostic – that is, they should work on as many distributions as possible. To achieve this, we test on various Linux distributions, and now we consider Amazon Linux 2023 as another platform supported by LibreOffice. Amazon has provided resources for regular and automated CI (c
     

LibreOffice 64-bit progress, and support for Amazon Linux 2023

9 octobre 2025 à 04:28

CPU on a motherboard

LibreOffice has been available for Linux since we started the project in 2010. The official builds from The Document Foundation (the non-profit entity behind LibreOffice) are designed to be self-contained and distribution agnostic – that is, they should work on as many distributions as possible.

To achieve this, we test on various Linux distributions, and now we consider Amazon Linux 2023 as another platform supported by LibreOffice. Amazon has provided resources for regular and automated CI (continuous integration) testing of LibreOffice builds against Amazon Linux 2023, including crash-testing runs, via the AWS Open Source Credits programme.

As part of this, and for the general benefit of other users, TDF has started to provide 64-bit ARM Linux builds (aarch64) in RPM format. We’ve worked on improving 64-bit ARM support for various platforms in recent years, including for Windows and on Apple silicon Macs, given that the chips are becoming increasingly used in desktops and servers.

64-bit ARM chips commonly power cloud infrastructure, where LibreOffice is often used in headless (non-GUI) tasks, such as batch conversions of large numbers of documents. But some users run LibreOffice graphically too. With the updates we’ve been working on, LibreOffice is now available on more infrastructure and can be deployed on Amazon Elastic Compute Cloud (Amazon EC2). If there’s anything else users would like to see, submit an enhancement request and let us know!

  • ✇The Document Foundation Blog
  • LibreOffice project and community recap: September 2025
    Here’s our summary of updates, events and activities in the LibreOffice project in the last four weeks – click the links to learn more… At the start of the month, the LibreOffice Conference 2025 took place in Budapest, Hungary. We had talks, workshops, fun social events and more. Thanks to all who attended See the schedule for information about the talks (and links to the slides, where available). Please confirm that you want to play a YouTube video. By accepting, you will be accessing cont
     

LibreOffice project and community recap: September 2025

7 octobre 2025 à 04:25

LibreOffice Conference 2025 merchandise

Here’s our summary of updates, events and activities in the LibreOffice project in the last four weeks – click the links to learn more…

  • At the start of the month, the LibreOffice Conference 2025 took place in Budapest, Hungary. We had talks, workshops, fun social events and more. Thanks to all who attended 😊 See the schedule for information about the talks (and links to the slides, where available).

Please confirm that you want to play a YouTube 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.

LibreOffice 25.2 logo

Guidebook cover

  • The Annual Report of The Document Foundation describes the foundation’s activities and projects, especially in regard to LibreOffice and the Document Liberation Project. We’ve been posting sections of the 2024 report here on the blog, and now the full version is available.

TDF Annual Report 2024 cover

  • Companies around the world use LibreOffice to reduce costs, improve their privacy, and free themselves from dependence on single vendors. We talked to Flotte Karotte, a German company with 50 employees that recently made a generous donation to support the LibreOffice project and community.

Photo of food being delivered

Open Source Conference 2025 logo

  • We spoke to Devansh Varshney, who added histogram chart support to LibreOffice and is working on improvements to the Basic IDE.

Devansh Varney photo

Suraj Bhattarai

Montage of photos from LibreOffice events

Bundesheer logo

Keep in touch – follow us on Mastodon, X (formerly Twitter), Bluesky, Reddit and Facebook. Like what we do? Support our community with a donation – or join our community and help to make LibreOffice even better!

  • ✇The Document Foundation Blog
  • 🇨🇺 LibreOffice in Latin America: heading to Havana for the 2025 Latin American Congress
    From October 6 to 9, Havana, Cuba, will host the Latin American LibreOffice 2025 Conference, a meeting that will bring together contributors, developers, universities, and governments from the region to celebrate and strengthen free software. This year, the Latin American conference will be held as part of the IV International Congress on Digital Transformation (Cibersociedad 2025) in Havana, Cuba. This integration reinforces LibreOffice’s crucial role in the digital transformation of Latin Ame
     

🇨🇺 LibreOffice in Latin America: heading to Havana for the 2025 Latin American Congress

5 octobre 2025 à 21:56

From October 6 to 9, Havana, Cuba, will host the Latin American LibreOffice 2025 Conference, a meeting that will bring together contributors, developers, universities, and governments from the region to celebrate and strengthen free software.

This year, the Latin American conference will be held as part of the IV International Congress on Digital Transformation (Cibersociedad 2025) in Havana, Cuba. This integration reinforces LibreOffice’s crucial role in the digital transformation of Latin American communities, promoting open innovation, technological sovereignty, and collaboration between countries.

The event will take place at the iconic Hotel Nacional de Cuba and will feature an intense program of lectures, panels, and workshops dedicated to LibreOffice, its communities, and institutional adoption initiatives.

🌍 A meeting that connects communities and governments

The opening ceremony will pay tribute to Cuban volunteer Carlos Parra, who passed away in 2022.

It was thanks to his dedication, articulation, and love for the community that the opportunity arose to hold the Latin American LibreOffice Congress in Cuba—a dream he helped make possible.

Carlos was the link between the Cuban community and The Document Foundation, and his contribution will remain as a legacy of collaboration and commitment to digital freedom.

During the event, Adlair Cerecedo-Méndez will present the experience of Office GobMX, the LibreOffice-based suite developed by the Mexican government. Other highlights include the panel “LibreOffice is freedom,” with Olivier Hallot, founding member of The Document Foundation and Documentation Coordinator for the LibreOffice Project, as well as discussions on government migration, extensions, technical quality, and the rebirth of the Cuban community — with participation from Gustavo Pacheco (Brazil), Mauricio Baeza (Mexico), and Xisco Faulí (Spain).

🧑‍🏫 Training and academic innovation

At the University of Information Sciences (UCI), the event will open space for young people and educators with the “LibreOffice and Universities” lab, led by Gustavo Pacheco, and the “Creating my first extension” workshop, conducted by Mauricio Baeza — a practical opportunity for those who want to learn how to expand LibreOffice and contribute technically to the project.

💬 Regional meetings and plans for 2026

The congress will close with meetings between Latin American members of the LibreOffice community, addressing:

  • the 2026 events calendar (including esLibre and the next Latin American Congress);
  • academic projects such as Google Summer of Code and Outreachy;
  • and new partnerships with other free software communities, such as GNOME Latam.

These sessions reflect the collective commitment to strengthening collaboration between countries and consolidating a more active presence for Latin America within The Document Foundation.

💪 An event driven by volunteers

The Congreso Latinoamericano de LibreOffice is an event organized entirely by volunteers, who dedicate their time, energy, and knowledge to make this initiative possible. Our special recognition and thanks go to Daniel Rodriguez (Argentina), Gastón Hannay (Uruguay), Omar Correa (Cuba), Gustavo Pacheco (Brazil), and Juan González (Mexico), who have been working tirelessly to make every detail of this edition possible.

We also express our sincere gratitude to the University of Computer Sciences (UCI) and the Cibersociedad 2025 organization for opening their doors and sharing their infrastructure—including rooms, laboratories, and technical support—making it possible to hold the Latin American LibreOffice Congress within their event.

This partnership reinforces the spirit of academic collaboration and the joint commitment to digital transformation in Latin America.

The Document Foundation (TDF), in its mission to promote LibreOffice and strengthen its global community, supports and sponsors these activities, enabling the participation of volunteers from different countries.

This support allows members of the Latin American community to meet in person, exchange experiences, and strengthen the international collaboration that sustains the project.

🌎 Freedom, collaboration, and the future

The LibreOffice Latin American Congress in Cuba is more than a technical event—it is a reunion of the Latin American community, united by ideals of freedom, solidarity, and technological sovereignty.

LibreOffice is, above all, a project made by people, for people. And this congress is living proof that collaboration can cross borders, languages, and generations.

📅 Date: October 6-9, 2025

📍 Location: Hotel Nacional de Cuba – Havana

🌐 More information: latam.conference.libreoffice.org

  • ✇The Document Foundation Blog
  • The artificial complexity of OOXML files (the DOCX case)
    The complexity of the OOXML format is linked to its design and was deliberately created to make the format more difficult for non-Microsoft software developers to implement. Compatibility issues are caused by a veritable “maze” of tags used even for the simplest content, which binds users to the Microsoft ecosystem in the first example of standard-based lock-in. The DOCX case To demonstrate the difference in complexity between the XML schemas of Writer and Word text documents in the ODF and OOXM
     

The artificial complexity of OOXML files (the DOCX case)

3 octobre 2025 à 10:10

The complexity of the OOXML format is linked to its design and was deliberately created to make the format more difficult for non-Microsoft software developers to implement. Compatibility issues are caused by a veritable “maze” of tags used even for the simplest content, which binds users to the Microsoft ecosystem in the first example of standard-based lock-in.

The DOCX case

To demonstrate the difference in complexity between the XML schemas of Writer and Word text documents in the ODF and OOXML formats, I used two classic English theatre plays: William Shakespeare’s Hamlet and Oscar Wilde’s The Importance of Being Earnest. I downloaded the text versions of these works from Project Gutenberg — a library of classic texts for which US copyright has expired — and deleted the introductions and conclusions added by Project Gutenberg, without making any other changes.

I then repeated this process for both documents.

I copied all the text and pasted it, without any formatting, into two newly created blank documents. For Writer, I used the template that I usually use for unstructured documents; for Word, I did not use a template. This means that, in Writer, the XML schema contains information about the template (margins, paragraph and font formatting), but this does not increase its complexity.

To perform the analysis, I duplicated and renamed the two files, replacing the original extension with “ZIP”, and then decompressed them to create two folders containing all the files of the respective XML schemas.

The LibreOffice folder contained three subfolders and six files with the same names as those in the ODS file examined last week, as would be expected of a standard aiming to simplify life for developers and users. All the content is actually in the content.xml file, while the other files contain instructions for displaying the text document correctly.

The Microsoft 365 folder contains three subfolders and the [Content_Types].xml file, as with the XLSX file examined last week. One of the subfolders has a different name, but this is related to the application and does not increase complexity. Opening the [Content_Types].xml file provides information about the other files, including those in the subfolders.

In this case, the content is in the document.xml file inside the Word folder, which contains folders and files that differ completely from those in the XLSX file. Again, there is no technical reason for this difference in the XML schemas of the two files other than to make their internal structures different and more complex.

Let’s now analyse William Shakespeare’s Hamlet and then Oscar Wilde’s The Importance of Being Earnest.

Here is the PDF of Hamlet:

hamlet

 

The difference in complexity between the document.xml and content.xml files is striking when you compare their lengths: the content.xml file has 6,802 lines, while the document.xml file has 60,245 lines, compared to a text document of 5,566 lines.

Let us now compare the two files’ XML schemas from the beginning to the end of the introduction.

CONTENT.XML

<office:body>
<office:text text:use-soft-page-breaks=”true”>
<office:forms form:automatic-focus=”false” form:apply-design-mode=”false”/>
<text:sequence-decls>
<text:sequence-decl text:display-outline-level=”0″ text:name=”Illustration”/>
<text:sequence-decl text:display-outline-level=”0″ text:name=”Table”/>
<text:sequence-decl text:display-outline-level=”0″ text:name=”Text”/>
<text:sequence-decl text:display-outline-level=”0″ text:name=”Drawing”/>
<text:sequence-decl text:display-outline-level=”0″ text:name=”Figure”/>
</text:sequence-decls>
<text:p text:style-name=”P1″>THE TRAGEDY OF HAMLET, PRINCE OF DENMARK</text:p>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″>by William Shakespeare</text:p>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″>Contents</text:p>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″><text:s/>ACT I</text:p>
<text:p text:style-name=”P1″><text:s/>Scene I. Elsinore. A platform before the Castle</text:p>
<text:p text:style-name=”P1″><text:s/>Scene II. Elsinore. A room of state in the Castle</text:p>
<text:p text:style-name=”P1″><text:s/>Scene III. A room in Polonius’s house</text:p>
<text:p text:style-name=”P1″><text:s/>Scene IV. The platform</text:p>
<text:p text:style-name=”P1″><text:s/>Scene V. A more remote part of the Castle</text:p>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″><text:s/>ACT II</text:p>
<text:p text:style-name=”P1″><text:s/>Scene I. A room in Polonius’s house</text:p>
<text:p text:style-name=”P1″><text:s/>Scene II. A room in the Castle</text:p>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″><text:s/>ACT III</text:p>
<text:p text:style-name=”P1″><text:s/>Scene I. A room in the Castle</text:p>
<text:p text:style-name=”P1″><text:s/>Scene II. A hall in the Castle</text:p>
<text:p text:style-name=”P1″><text:s/>Scene III. A room in the Castle</text:p>
<text:p text:style-name=”P1″><text:s/>Scene IV. Another room in the Castle</text:p>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″><text:s/>ACT IV</text:p>
<text:p text:style-name=”P1″><text:s/>Scene I. A room in the Castle</text:p>
<text:p text:style-name=”P1″><text:s/>Scene II. Another room in the Castle</text:p>
<text:p text:style-name=”P1″><text:s/>Scene III. Another room in the Castle</text:p>
<text:p text:style-name=”P1″><text:s/>Scene IV. A plain in Denmark</text:p>
<text:p text:style-name=”P1″><text:s/>Scene V. Elsinore. A room in the Castle</text:p>
<text:p text:style-name=”P1″><text:soft-page-break/><text:s/>Scene VI. Another room in the Castle</text:p>
<text:p text:style-name=”P1″><text:s/>Scene VII. Another room in the Castle</text:p>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″><text:s/>ACT V</text:p>
<text:p text:style-name=”P1″><text:s/>Scene I. A churchyard</text:p>
<text:p text:style-name=”P1″><text:s/>Scene II. A hall in the Castle</text:p>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″>Dramatis Personæ</text:p>
<text:p text:style-name=”P1″/>
<text:p text:style-name=”P1″>HAMLET, Prince of Denmark</text:p>
<text:p text:style-name=”P1″>CLAUDIUS, King of Denmark, Hamlet’s uncle</text:p>
<text:p text:style-name=”P1″>The GHOST of the late king, Hamlet’s father</text:p>
<text:p text:style-name=”P1″>GERTRUDE, the Queen, Hamlet’s mother, now wife of Claudius</text:p>
<text:p text:style-name=”P1″>POLONIUS, Lord Chamberlain</text:p>
<text:p text:style-name=”P1″>LAERTES, Son to Polonius</text:p>
<text:p text:style-name=”P1″>OPHELIA, Daughter to Polonius</text:p>
<text:p text:style-name=”P1″>HORATIO, Friend to Hamlet</text:p>
<text:p text:style-name=”P1″>FORTINBRAS, Prince of Norway</text:p>
<text:p text:style-name=”P1″>VOLTEMAND, Courtier</text:p>
<text:p text:style-name=”P1″>CORNELIUS, Courtier</text:p>
<text:p text:style-name=”P1″>ROSENCRANTZ, Courtier</text:p>
<text:p text:style-name=”P1″>GUILDENSTERN, Courtier</text:p>
<text:p text:style-name=”P1″>MARCELLUS, Officer</text:p>
<text:p text:style-name=”P1″>BARNARDO, Officer</text:p>
<text:p text:style-name=”P1″>FRANCISCO, a Soldier</text:p>
<text:p text:style-name=”P1″>OSRIC, Courtier</text:p>
<text:p text:style-name=”P1″>REYNALDO, Servant to Polonius</text:p>
<text:p text:style-name=”P1″>Players</text:p>
<text:p text:style-name=”P1″>A Gentleman, Courtier</text:p>
<text:p text:style-name=”P1″>A Priest</text:p>
<text:p text:style-name=”P1″><text:soft-page-break/>Two Clowns, Grave-diggers</text:p>
<text:p text:style-name=”P1″>A Captain</text:p>
<text:p text:style-name=”P1″>English Ambassadors.</text:p>
<text:p text:style-name=”P1″>Lords, Ladies, Officers, Soldiers, Sailors, Messengers, and Attendants</text:p>

It is a reasonably complex XML file. After the initial instructions on the sequence of content, the text of the tragedy can easily be located alongside the sequence of the five acts and the descriptions of the dramatis personae.

DOCUMENT.XML

<w:body>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” wp14:paraId=”73C9069B” wp14:textId=”09294AE1″>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>THE TRAGEDY OF HAMLET, PRINCE OF DENMARK</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”3AA342A9″ wp14:textId=”00E76CB9″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”1B479704″ wp14:textId=”129900F6″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>by William Shakespeare</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”6C6F02DD” wp14:textId=”1D8A204F”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”1F7D25FF” wp14:textId=”4619853B”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”50471715″ wp14:textId=”708F3004″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”7E2BE7BA” wp14:textId=”48A7F848″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”5B16A927″ wp14:textId=”10A9E3F9″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Contents</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”429A556E” wp14:textId=”6416D4DB”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”1C38A773″ wp14:textId=”4F3F8ED2″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>ACT I</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”59328897″ wp14:textId=”21C9F129″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene I. Elsinore. A platform before the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”30C9E582″ wp14:textId=”0A7616FF”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene II. Elsinore. A room of state in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”5EAB6C01″ wp14:textId=”70B75214″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene III. A room in Polonius’s house</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”232393A3″ wp14:textId=”069440B2″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene IV. The platform</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”65E1A75F” wp14:textId=”1E769B73″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene V. A more remote part of the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”6C6D2F5C” wp14:textId=”13700863″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”339DBFF3″ wp14:textId=”4AF718C4″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>ACT II</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”774AAE76″ wp14:textId=”3F8EE2B8″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene I. A room in Polonius’s house</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”526BCABF” wp14:textId=”441F6801″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene II. A room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”6A1841AB” wp14:textId=”1FBE8D34″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”577B4504″ wp14:textId=”1BF167DB”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>ACT III</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”2724CC9A” wp14:textId=”293764E9″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene I. A room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”04FF9ABE” wp14:textId=”30F918C2″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene II. A hall in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”338872C6″ wp14:textId=”1F0AFFE6″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene III. A room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”46D240C2″ wp14:textId=”3D28AE8B”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene IV. Another room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”64F40DC7″ wp14:textId=”16C2A388″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”4B538D6F” wp14:textId=”7CB11368″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>ACT IV</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”2508ABE7″ wp14:textId=”4925909D”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene I. A room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”5ABD1B8F” wp14:textId=”68A02D9E”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene II. Another room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”57D2E145″ wp14:textId=”08927478″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene III. Another room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”2BA12E96″ wp14:textId=”1E35C8BC”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene IV. A plain in Denmark</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”4DF8BEC9″ wp14:textId=”67676CF3″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene V. Elsinore. A room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”17EE90DC” wp14:textId=”708C9696″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene VI. Another room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”3302F704″ wp14:textId=”2ADB2A66″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene VII. Another room in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”0F7C9E68″ wp14:textId=”5D706618″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”1091F950″ wp14:textId=”2EE5201C”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>ACT V</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”6E162B67″ wp14:textId=”10199C37″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene I. A churchyard</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”1A2FA647″ wp14:textId=”683EF1FA”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Scene II. A hall in the Castle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”62A90ACE” wp14:textId=”156F1611″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”557F5426″ wp14:textId=”05194972″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”011BF8B2″ wp14:textId=”175BE494″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”4BB65B79″ wp14:textId=”7256A412″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”1EEEFC18″ wp14:textId=”2D4F2D20″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Dramatis Personæ</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”69D361D6″ wp14:textId=”0A66ADE7″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t xml:space=”preserve”> </w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”7198BA63″ wp14:textId=”0ECB601B”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>HAMLET, Prince of Denmark</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”7A30698D” wp14:textId=”2A3EE787″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>CLAUDIUS, King of Denmark, Hamlet’s uncle</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”7D437DFF” wp14:textId=”0C3AFC43″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>The GHOST of the late king, Hamlet’s father</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”663C7E0E” wp14:textId=”4F1E93F2″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>GERTRUDE, the Queen, Hamlet’s mother, now wife of Claudius</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”1EE14B03″ wp14:textId=”567F43B4″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>POLONIUS, Lord Chamberlain</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”7A4F8A78″ wp14:textId=”39759F7E”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>LAERTES, Son to Polonius</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”11E371D7″ wp14:textId=”36CD515A”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>OPHELIA, Daughter to Polonius</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”2D438C1E” wp14:textId=”7211E8E5″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>HORATIO, Friend to Hamlet</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”4E6B50D6″ wp14:textId=”559117D7″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>FORTINBRAS, Prince of Norway</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”1B5B4955″ wp14:textId=”599A64FC”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>VOLTEMAND, Courtier</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”32BA9096″ wp14:textId=”6E8C2728″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>CORNELIUS, Courtier</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”60FD9B45″ wp14:textId=”2F2E3956″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>ROSENCRANTZ, Courtier</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”0CC7985B” wp14:textId=”56DED383″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>GUILDENSTERN, Courtier</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”775EA68F” wp14:textId=”089F9982″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>MARCELLUS, Officer</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”4E2AEAC2″ wp14:textId=”34855F77″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>BARNARDO, Officer</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”6DB5A437″ wp14:textId=”146C2E48″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>FRANCISCO, a Soldier</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”389BDBAC” wp14:textId=”0B30EC2E”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>OSRIC, Courtier</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”12730B2E” wp14:textId=”60DC1BFE”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>REYNALDO, Servant to Polonius</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”7FA85C5A” wp14:textId=”3D66976B”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Players</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”2F38E070″ wp14:textId=”309A60BF”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>A Gentleman, Courtier</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”53493710″ wp14:textId=”48B3D2A5″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>A Priest</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”611C5F94″ wp14:textId=”22FB27D4″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Two Clowns, Grave-diggers</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”577DC4BA” wp14:textId=”2FD3CAA0″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>A Captain</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”0BAF6209″ wp14:textId=”35658011″>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>English Ambassadors.</w:t>
</w:r>
</w:p>
<w:p xmlns:wp14=”http://schemas.microsoft.com/office/word/2010/wordml” w:rsidP=”03F02A92″ wp14:paraId=”260F5D8D” wp14:textId=”0FC10ABC”>
<w:pPr>
<w:pStyle w:val=”Normal”/>
</w:pPr>
<w:r w:rsidR=”0C2508E9″>
<w:rPr/>
<w:t>Lords, Ladies, Officers, Soldiers, Sailors, Messengers, and Attendants</w:t>
</w:r>
</w:p>

This XML file contains a lot of repetition. Is it really necessary to include the same information about the schema and style for every line of content, including empty ones? I doubt it personally, but since I am not a technician, I am willing to listen to reasons from those who argue that this content is essential and not artificial complexity.

Let’s see if the same thing happens with Oscar Wilde’s ‘The Importance of Being Earnest’. Here is the PDF:

earnest

 

In this case, the artificial complexity of the Word document is less apparent, as the content.xml file has 3,974 lines compared to a text document of 3,885 lines, and the document.xml file has 8,610 lines. Therefore, we have gone from a file that is almost ten times longer in terms of the number of lines to a file that is just over twice as long. This difference can be explained by comparing the first lines of the two files’ XML schemas (only those with content).

CONTENT.XML

<text:p text:style-name=”P1″>The Importance of Being Earnest</text:p>
<text:p text:style-name=”P1″>A Trivial Comedy for Serious People</text:p>
<text:p text:style-name=”P1″>THE PERSONS IN THE PLAY</text:p>
<text:p text:style-name=”P1″>John Worthing, J.P.</text:p>
<text:p text:style-name=”P1″>Algernon Moncrieff</text:p>
<text:p text:style-name=”P1″>Rev. Canon Chasuble, D.D.</text:p>
<text:p text:style-name=”P1″>Merriman, Butler</text:p>
<text:p text:style-name=”P1″>Lane, Manservant</text:p>
<text:p text:style-name=”P1″>Lady Bracknell</text:p>
<text:p text:style-name=”P1″>Hon. Gwendolen Fairfax</text:p>
<text:p text:style-name=”P1″>Cecily Cardew</text:p>
<text:p text:style-name=”P1″>Miss Prism, Governess</text:p>
<text:p text:style-name=”P1″>THE SCENES OF THE PLAY</text:p>
<text:p text:style-name=”P1″>ACT I. Algernon Moncrieff’s Flat in Half-Moon Street, W.</text:p>
<text:p text:style-name=”P1″>ACT II. The Garden at the Manor House, Woolton.</text:p>
<text:p text:style-name=”P1″>ACT III. Drawing-Room at the Manor House, Woolton.</text:p>
<text:p text:style-name=”P1″>TIME: The Present.</text:p>
<text:p text:style-name=”P1″>LONDON: ST. JAMES’S THEATRE</text:p>
<text:p text:style-name=”P1″>Lessee and Manager: Mr. George Alexander</text:p>
<text:p text:style-name=”P1″>February 14th, 1895</text:p>
<text:p text:style-name=”P1″>John Worthing, J.P.: Mr. George Alexander.</text:p>
<text:p text:style-name=”P1″>Algernon Moncrieff: Mr. Allen Aynesworth.</text:p>
<text:p text:style-name=”P1″>Rev. Canon Chasuble, D.D.: Mr. H. H. Vincent.</text:p>
<text:p text:style-name=”P1″>Merriman: Mr. Frank Dyall.</text:p>
<text:p text:style-name=”P1″>Lane: Mr. F. Kinsey Peile.</text:p>
<text:p text:style-name=”P1″>Lady Bracknell: Miss Rose Leclercq.</text:p>
<text:p text:style-name=”P1″>Hon. Gwendolen Fairfax: Miss Irene Vanbrugh.</text:p>
<text:p text:style-name=”P1″>Cecily Cardew: Miss Evelyn Millard.</text:p>
<text:p text:style-name=”P1″>Miss Prism: Mrs. George Canninge.</text:p>
<text:p text:style-name=”P1″>FIRST ACT</text:p>
<text:p text:style-name=”P1″>SCENE</text:p>
<text:p text:style-name=”P1″>Morning-room in Algernon’s flat in Half-Moon Street. The room is</text:p>
<text:p text:style-name=”P1″>luxuriously and artistically furnished. The sound of a piano is heard</text:p>
<text:p text:style-name=”P1″>in the adjoining room.</text:p>
<text:p text:style-name=”P1″>[Lane is arranging afternoon tea on the table, and after the music has</text:p>
<text:p text:style-name=”P1″>ceased, Algernon enters.]</text:p>
<text:p text:style-name=”P1″>ALGERNON.</text:p>
<text:p text:style-name=”P1″>Did you hear what I was playing, Lane?</text:p>
<text:p text:style-name=”P1″>LANE.</text:p>
<text:p text:style-name=”P1″>I didn’t think it polite to listen, sir.</text:p>
<text:p text:style-name=”P1″><text:soft-page-break/>ALGERNON.</text:p>
<text:p text:style-name=”P1″>I’m sorry for that, for your sake. I don’t play accurately—any one can</text:p>
<text:p text:style-name=”P1″>play accurately—but I play with wonderful expression. As far as the</text:p>
<text:p text:style-name=”P1″>piano is concerned, sentiment is my forte. I keep science for Life.</text:p>
<text:p text:style-name=”P1″>LANE.</text:p>
<text:p text:style-name=”P1″>Yes, sir.</text:p>
<text:p text:style-name=”P1″>ALGERNON.</text:p>
<text:p text:style-name=”P1″>And, speaking of the science of Life, have you got the cucumber</text:p>
<text:p text:style-name=”P1″>sandwiches cut for Lady Bracknell?</text:p>
<text:p text:style-name=”P1″>LANE.</text:p>
<text:p text:style-name=”P1″>Yes, sir. [Hands them on a salver.]</text:p>
<text:p text:style-name=”P1″>ALGERNON.</text:p>
<text:p text:style-name=”P1″>[Inspects them, takes two, and sits down on the sofa.] Oh! . . . by the</text:p>
<text:p text:style-name=”P1″>way, Lane, I see from your book that on Thursday night, when Lord</text:p>
<text:p text:style-name=”P1″>Shoreman and Mr. Worthing were dining with me, eight bottles of</text:p>
<text:p text:style-name=”P1″>champagne are entered as having been consumed.</text:p>
<text:p text:style-name=”P1″>LANE.</text:p>
<text:p text:style-name=”P1″>Yes, sir; eight bottles and a pint.</text:p>
<text:p text:style-name=”P1″>ALGERNON.</text:p>
<text:p text:style-name=”P1″>Why is it that at a bachelor’s establishment the servants invariably</text:p>
<text:p text:style-name=”P1″>drink the champagne? I ask merely for information.</text:p>
<text:p text:style-name=”P1″>LANE.</text:p>
<text:p text:style-name=”P1″>I attribute it to the superior quality of the wine, sir. I have often</text:p>
<text:p text:style-name=”P1″>observed that in married households the champagne is rarely of a</text:p>
<text:p text:style-name=”P1″>first-rate brand.</text:p>
<text:p text:style-name=”P1″><text:soft-page-break/>ALGERNON.</text:p>
<text:p text:style-name=”P1″>Good heavens! Is marriage so demoralising as that?</text:p>

DOCUMENT.XML

<w:t>The Importance of Being Earnest</w:t>
<w:t>A Trivial Comedy for Serious People</w:t>
<w:t>THE PERSONS IN THE PLAY</w:t>
<w:t>John Worthing, J.P. Algernon Moncrieff Rev. Canon Chasuble, D.D. Merriman, Butler Lane, Manservant Lady Bracknell Hon. Gwendolen Fairfax Cecily Cardew Miss Prism, Governess</w:t>
<w:t>THE SCENES OF THE PLAY</w:t>
<w:t>ACT I. Algernon Moncrieff’s Flat in Half-Moon Street, W.</w:t>
<w:t>ACT II. The Garden at the Manor House, Woolton.</w:t>
<w:t>ACT III. Drawing-Room at the Manor House, Woolton.</w:t>
<w:t>TIME: The Present.</w:t>
<w:t>LONDON: ST. JAMES’S THEATRE</w:t>
<w:t>Lessee and Manager: Mr. George Alexander</w:t>
<w:t>February 14th, 1895</w:t>
<w:t>John Worthing, J.P.: Mr. George Alexander. Algernon Moncrieff: Mr. Allen Aynesworth. Rev. Canon Chasuble, D.D.: Mr. H. H. Vincent. Merriman: Mr. Frank Dyall. Lane: Mr. F. Kinsey Peile. Lady Bracknell: Miss Rose Leclercq. Hon. Gwendolen Fairfax: Miss Irene Vanbrugh. Cecily Cardew: Miss Evelyn Millard. Miss Prism: Mrs. George Canninge.</w:t>
<w:t>FIRST ACT</w:t>
<w:t>SCENE</w:t>
<w:t>Morning-room in Algernon’s flat in Half-Moon Street. The room is luxuriously and artistically furnished. The sound of a piano is heard in the adjoining room.</w:t>
<w:t>[Lane is arranging afternoon tea on the table, and after the music has ceased, Algernon enters.]</w:t>
<w:t>ALGERNON. Did you hear what I was playing, Lane?</w:t>
<w:t>LANE. I didn’t think it polite to listen, sir.</w:t>
<w:t>ALGERNON. I’m sorry for that, for your sake. I don’t play accurately—any one can play accurately—but I play with wonderful expression. As far as the piano is concerned, sentiment is my forte. I keep science for Life.</w:t>
<w:t>LANE. Yes, sir.</w:t>
<w:t>ALGERNON. And, speaking of the science of Life, have you got the cucumber sandwiches cut for Lady Bracknell?</w:t>
<w:t>LANE. Yes, sir. [Hands them on a salver.]</w:t>
<w:t>ALGERNON. [Inspects them, takes two, and sits down on the sofa.] Oh! . . . by the way, Lane, I see from your book that on Thursday night, when Lord Shoreman and Mr. Worthing were dining with me, eight bottles of champagne are entered as having been consumed.</w:t>
<w:t>LANE. Yes, sir; eight bottles and a pint.</w:t>
<w:t>ALGERNON. Why is it that at a bachelor’s establishment the servants invariably drink the champagne? I ask merely for information.</w:t>
<w:t>LANE. I attribute it to the superior quality of the wine, sir. I have often observed that in married households the champagne is rarely of a first-rate brand.</w:t>
<w:t>ALGERNON. Good heavens! Is marriage so demoralising as that?</w:t>

While the content.xml file retains all the line breaks (hard returns) of the text document, the document.xml file “reinterprets” the text, reconstructing all the paragraphs even when this makes no sense, as with lists of characters and the actors who play them. It also adds punctuation that does not exist in the text file, such as commas to replace hard returns. This is why the file is shorter than the “Hamlet” file, but it introduces an arbitrary “simplification” that does not respect the original document.

Until today, I was convinced that the XML schema of OOXML files was unnecessarily complex for the reasons I have explained at length on several occasions. However, it is not only unnecessarily complex, but also unnecessarily “creative” (always complicating the lives of developers and users).

Conclusions

Unfortunately, the reality is what I have explained several times, without going into technical detail. This has been confirmed by more technical analyses of XLSX and DOCX files, and I believe it will also be confirmed by next week’s PPTX file analysis. Microsoft has created an unnecessarily complex and incomprehensibly creative file format, which complicates the lives of developers and users more than I thought.

Indeed, while it is challenging to manage artificial complexity, it is arguably impossible to manage “creativity” that reinterprets the contents of a document by inventing paragraphs where it might make sense — albeit with a faithful format — and where it makes no sense, as with lists.

Perhaps, in my personal opinion, “creativity” was introduced to make it difficult for companies based in countries where reverse engineering is not illegal to emulate the OOXML format, as I don’t believe “creative” reverse engineering is possible, even with the help of AI.

Users should protect their rights by choosing an open standard format, such as ODF, which gives them control over their content and everything that this entails, including privacy protection, proper management of sensitive data and the ability to decide what to share and with whom.

This is a format whose development process, characteristics, and version are known; whose description corresponds to what happens on the user’s PC; and which faithfully reproduces the contents of the displayed document. It is a format that enables even less experienced users to identify and, in many cases, solve problems.

In short, it is the only open and standard document format that we would all like to have, but which only a minority use due to a lack of knowledge about the reality of the OOXML format, and the messianic trust that too many users place in Microsoft. This leads them to believe that there cannot be a commercial strategy behind a document format that is hostile to users’ interests.

  • ✇The Document Foundation Blog
  • LibreOffice Podcast, Episode #5 – Accessibility in Free and Open Source Software
    LibreOffice strives to be accessible for people with special needs or limitations, such as visual impairment or limited motor abilities. How does the software work towards this? What accessibility features are in the pipeline? And how can all users help out? We talk to Michael Weghorn about these topics – and more. (This episode is also available on PeerTube.) Please confirm that you want to play a YouTube video. By accepting, you will be accessing content from YouTube, a service provided by an
     

LibreOffice Podcast, Episode #5 – Accessibility in Free and Open Source Software

2 octobre 2025 à 02:47

LibreOffice strives to be accessible for people with special needs or limitations, such as visual impairment or limited motor abilities. How does the software work towards this? What accessibility features are in the pipeline? And how can all users help out? We talk to Michael Weghorn about these topics – and more. (This episode is also available on PeerTube.)

Please confirm that you want to play a YouTube 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.

Join the LibreOffice Team as a Paid Developer focusing on the Base database application, preferably full-time, remote (m/f/d)

1 octobre 2025 à 05:44

The Document Foundation's team

Love LibreOffice development? Want to turn your passion into a paid job? We are The Document Foundation (TDF), the non-profit entity behind LibreOffice. We’re passionate about free software, the open source culture and about bringing new companies and people with fresh ideas into our community.

To improve the Base database application of LibreOffice, the office productivity suite for over 200 million users around the globe, we’re searching for a developer (m/f/d) to start work (from home) as soon as possible. This is what you’ll do:

  • Work on the LibreOffice codebase (mostly C++)
  • Focus on Base, its frontend and backend features and all the ways databases are used elsewhere in the software
  • Fix bugs, implement new features, and improve the quality of database code in LibreOffice
  • Document what you do, actively share knowledge in public with volunteers and contributors via blog posts, workshops and conference talks, so other developers and users have an easier time learning about your work

Examples of tasks:

  • Polish the Firebird integration
  • Improve the tool for migrating databases from HSQLDB to Firebird
  • Make the new C++-based Report Builder production-ready
  • Add support for SQLite databases

What we want from you:

  • Very good C++ development skills
  • Proven experience working with databases
  • Good team-playing skills
  • Speaking and writing English

Previous contributions to FOSS projects (show us your repos!) are a plus. A previously established relationship within the developer community, as well as with other teams such as QA is a plus, but it is not mandatory at the start and can be achieved during the work itself.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to members of TDF. Not being a member does not exclude any applicants from consideration.

Join us!

All jobs at The Document Foundation are remote jobs, where you can work from your home office or a co-working space. The work time during the day is flexible, apart from a few fixed meetings. The role is offered as full-time (ideally 40 hours per week). While we prefer full-time for the role, part-time applications, or proposals to grow the hours over time, will be considered. Candidates that are resident in (or willing to relocate to) Germany will be employed directly by TDF. Otherwise, external payroll services will be used if available in the candidate’s country of residence.

Are you interested? Get in touch! We aim to schedule the first interview within two weeks of your application. You can also approach us any time for an informal chat, to learn about the role or in case of questions.

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, gender, disability, religion/belief, sexual orientation or age. Don’t be afraid to be different, and stay true to yourself. We like you that way! 😊

We’re looking forward to receiving your application, including information about you (your resume), when you are available for the job, and of course your financial expectations. We expect you to provide details about your C++ experience. Pointing to public repositories with your code is very helpful. Please send us an e-mail to developers@documentfoundation.org no later than October 22, 2025. If you haven’t received feedback by November 20, 2025, your application could not be considered.

Also note: we only accept applications from the applicant, and not from any intermediary. We do not accept agency resumes. Please do not forward resumes to any recruiting alias or employee.

  • ✇The Document Foundation Blog
  • Austria’s military switches from Microsoft Office to LibreOffice
    Like we’re seeing in Schleswig-Holstein, Denmark and many other government bodies and organisations, the Austrian military (Bundesheer) has migrated 16,000 PCs from Microsoft Office to LibreOffice. As Heise reports, the main reasons behind the switch are to: strengthen digital sovereignty maintain independence of IT infrastructure ensure that data is processed in-house The initial plan to move to LibreOffice was formed in 2020, and detailed planning and training of internal developers for imp
     

Austria’s military switches from Microsoft Office to LibreOffice

30 septembre 2025 à 03:44

Logo of Bundesheer

Like we’re seeing in Schleswig-Holstein, Denmark and many other government bodies and organisations, the Austrian military (Bundesheer) has migrated 16,000 PCs from Microsoft Office to LibreOffice.

As Heise reports, the main reasons behind the switch are to:

  • strengthen digital sovereignty
  • maintain independence of IT infrastructure
  • ensure that data is processed in-house

The initial plan to move to LibreOffice was formed in 2020, and detailed planning and training of internal developers for improvements began in 2022. In 2023, a company in Germany was contracted to provide technical support and additional development.

The Austrian military’s migration reflects a growing demand for independence from single vendors. With free and open source software like LibreOffice, anyone can study and modify the source code to make improvements specifically for their setup and workflow. Government bodies and organisations can free themselves from vendor lock-in, spending taxpayer’s money on local companies to provide support and further development – rather than paying for license fees from overseas companies.

At the recent LibreOffice Conference 2025, representatives from the Austrian armed forces gave a talk about their switch from Microsoft Office, highlighting some of the new features and improvements that they have sponsored:

Presentation slide of improvements in LibreOffice, such as notes pane, and import of pivot table protected sheets

Click here to view the slides

  • ✇The Document Foundation Blog
  • LibreOffice turns 15: a celebration of freedom, collaboration and open technologies and standards
    Fifteen years ago, we announced our ambitious plan to provide the world with a fully free and open office suite created by and for the community. Today, we are celebrating 15 years of LibreOffice — a milestone not only for the software itself, but also for the global movement that it represents. LibreOffice was born on 28 September 2010 when it was launched as a fork of OpenOffice. This was not just a technical split, but also a declaration of independence, transparency, and freedom. LibreOffic
     

LibreOffice turns 15: a celebration of freedom, collaboration and open technologies and standards

28 septembre 2025 à 05:58

Fifteen years ago, we announced our ambitious plan to provide the world with a fully free and open office suite created by and for the community. Today, we are celebrating 15 years of LibreOffice — a milestone not only for the software itself, but also for the global movement that it represents.

LibreOffice was born on 28 September 2010 when it was launched as a fork of OpenOffice. This was not just a technical split, but also a declaration of independence, transparency, and freedom. LibreOffice would be free: free to use, free to modify, and free from corporate constraints.

From day one, our mission has been clear: to empower people through open technology.

A community like no other

LibreOffice has never been alone. Throughout its journey, it has been supported by a community of thousands of contributors and dozens of companies who have contributed to development, design, localisation, quality assurance and other services to support its growth. Many have simply dedicated their time, skills and passion to creating something unique and better for everyone.

Over the years, the community has:

  • Released dozens of major versions, each more powerful and significantly better than the last;
  • Localised LibreOffice into over 120 languages, some of which are rare or at risk of disappearing, making it accessible to more than 5 billion people;
  • Kept the source code open, making it more modern and secure thanks to countless improvements and rewrites;
  • Organised conferences, workshops, and hackfests that have stimulated innovation and mentoring.

This is not just software. It is a living project, fuelled by real people and companies who are committed to its daily growth.

Why LibreOffice is more important than ever

In an era of cloud lock-in, creeping surveillance and disappearing ownership, LibreOffice remains a bastion of digital autonomy. It gives individuals, schools, non-profit organisations and governments the opportunity to own their tools rather than “renting” them under licence.

It supports ODF (Open Document Format), the only open document standard, which guarantees users transparent access to and management of their documents and perpetual control over their content. No subscriptions. No forced updates. No strings attached.

Looking back, moving forward

Fifteen years is a significant milestone, but LibreOffice is not slowing down. Thanks to continuous improvements to the user interface, increased compatibility, and greater integration with modern systems (including the cloud), the project is moving forward with the same energy with which it was launched.

Here’s what the future looks like:

  • More powerful collaboration tools for teams and organisations
  • Ever-improving compatibility with proprietary formats and native handling of the open document format standard
  • A flexible user interface and user experience to meet the compatibility needs of users accustomed to the rigid interface of proprietary software
  • Continuous performance and security improvements at all levels
  • An ever-expanding network of volunteer contributors and partner companies around the world.

Join the celebrations!

This anniversary is about more than just LibreOffice; it’s about you too: the users, volunteer contributors, ecosystem companies, supporters and everyone who believes in open-source software.

If you have ever reported a bug, done a translation, answered user questions, contributed to the documentation, written source code, organised an event, made a donation, or simply shared LibreOffice with someone else, then you are part of the story.

So raise your glass (or open a text document, spreadsheet, presentation, or drawing) and join us in celebrating 15 years of LibreOffice and the people who made it possible. The best is yet to come!

  • ✇The Document Foundation Blog
  • The artificial complexity of OOXML files (the XLSX case)
    The post, published on 18 July 2025, which explained why an artificially complex XML schema, such as that used by Microsoft 365 (formerly Microsoft Office) files, is in fact a subtle tool for locking in users because it is invisible and impossible to detect without in-depth study, was picked up by various IT media outlets. This was probably because it explained a problem that everyone faces without having the tools to solve it in a way that was accessible to everyone. Some of these articles spar
     

The artificial complexity of OOXML files (the XLSX case)

27 septembre 2025 à 10:57

The post, published on 18 July 2025, which explained why an artificially complex XML schema, such as that used by Microsoft 365 (formerly Microsoft Office) files, is in fact a subtle tool for locking in users because it is invisible and impossible to detect without in-depth study, was picked up by various IT media outlets. This was probably because it explained a problem that everyone faces without having the tools to solve it in a way that was accessible to everyone.

Some of these articles sparked a debate between those who supported my thesis and those who defended Microsoft, the true champions of lock-in, who claimed that the complexity of the XML schema was not artificial but rather a reflection of the complexity of the documents themselves.

This complexity relates to various factors, such as size (number of pages), structure (text, tables, graphs and images), content management (data entry by multiple people and systems) and customisation through metadata. These factors influence the management, classification and storage of the document itself.

The different approaches to complexity management between ODF and OOXML

However, the ODF and OOXML formats handle this complexity in completely different ways. In the first case, the XML schema seeks to simplify the work of developers and users by ensuring that both sets of requirements are met. Developers have all the descriptive tools related to document complexity at their disposal, and users can distinguish between descriptive elements and content because the two are almost always separate. The content is also consistent in syntax with the document.

In the second case, the XML schema does nothing to simplify the developer’s task and complicates the user’s task by putting all the elements – description and content – together without any apparent logic. This makes the two difficult or even impossible to distinguish.

The complexity of the OOXML format is linked to its design and was deliberately created to make the format more difficult for non-Microsoft software developers to implement. Compatibility issues are caused by a veritable “maze” of tags used even for the simplest content, which binds users to the Microsoft ecosystem in the first example of standard-based lock-in.

Added to this is the widespread use of convoluted descriptions, such as those relating to dates, which are linked to a bug introduced by Visicalc and still present in Excel 67 years after it was discovered, and the arbitrary separation of content, such as sentences or even words that are broken between two content elements. The format reflects the internal data structures and legacy features of Microsoft Office. It uses non-standard language encodings and units of measurement, as well as inconsistent naming conventions and rules between modules. It also uses abstruse tag names that are difficult to decipher.

The XLSX case

To illustrate the difference in complexity between the ODF and OOXML XML schemas, I created a simple spreadsheet containing dates from my life that are either significant or ironic. These include the date I broke my nose, the date it was repaired, and the date I re-married my wife in Las Vegas to celebrate the 30th anniversary of the marriage with an informal ceremony (a drive-through wedding in a limousine).

This is a screenshot of the spreadsheet:

To perform the analysis, I duplicated and renamed the two files, replacing the original extension with “ZIP”, and then unzipped them to create two folders containing all the files of the respective XML schemas.

The LibreOffice folder contains three subfolders and six files, one of which is called content.xml and immediately catches the eye due to its evocative name. Opening it reveals all the contents, while the other files contain instructions for displaying the spreadsheet correctly.

This is the significant portion of the LibreOffice content.xml file:

<office:body>
<office:spreadsheet>
<table:calculation-settings table:case-sensitive=”false” table:automatic-find-labels=”false” table:use-regular-expressions=”false” table:use-wildcards=”true”>
<table:iteration table:maximum-difference=”0.0001″/>
</table:calculation-settings>
<table:table table:name=”Foglio1″ table:style-name=”ta1″>
<office:forms form:automatic-focus=”false” form:apply-design-mode=”false”/>
<table:table-column table:style-name=”co1″ table:default-cell-style-name=”ce2″/>
<table:table-column table:style-name=”co2″ table:default-cell-style-name=”ce4″/>
<table:table-column table:style-name=”co3″ table:number-columns-repeated=”16382″/>
<table:table-row table:style-name=”ro1″>
<table:table-cell table:style-name=”ce1″ office:value-type=”string” calcext:value-type=”string”>
<text:p>Event</text:p>
</table:table-cell>
<table:table-cell table:style-name=”ce3″ office:value-type=”string” calcext:value-type=”string”>
<text:p>Date</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name=”ro1″>
<table:table-cell office:value-type=”string” calcext:value-type=”string”>
<text:p>Was Born in Umbria</text:p>
</table:table-cell>
<table:table-cell table:style-name=”ce7″ office:value-type=”date” office:date-value=”1954-08-12″ calcext:value-type=”date”>
<text:p>08/12/1954</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name=”ro1″>
<table:table-cell office:value-type=”string” calcext:value-type=”string”>
<text:p>Broke Nose in Rome</text:p>
</table:table-cell>
<table:table-cell table:style-name=”ce7″ office:value-type=”date” office:date-value=”1965-01-18″ calcext:value-type=”date”>
<text:p>01/18/1965</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name=”ro1″>
<table:table-cell office:value-type=”string” calcext:value-type=”string”>
<text:p>University Degree in Milan</text:p>
</table:table-cell>
<table:table-cell table:style-name=”ce7″ office:value-type=”date” office:date-value=”1978-11-19″ calcext:value-type=”date”>
<text:p>11/19/1978</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name=”ro1″>
<table:table-cell office:value-type=”string” calcext:value-type=”string”>
<text:p>First Job at Italian Touring Club</text:p>
</table:table-cell>
<table:table-cell table:style-name=”ce7″ office:value-type=”date” office:date-value=”1981-01-10″ calcext:value-type=”date”>
<text:p>01/10/1981</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name=”ro1″>
<table:table-cell office:value-type=”string” calcext:value-type=”string”>
<text:p>Hired by Honeywell and Got 1st PC</text:p>
</table:table-cell>
<table:table-cell table:style-name=”ce7″ office:value-type=”date” office:date-value=”1983-01-09″ calcext:value-type=”date”>
<text:p>01/09/1983</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name=”ro1″>
<table:table-cell office:value-type=”string” calcext:value-type=”string”>
<text:p>1st Wedding in Assisi</text:p>
</table:table-cell>
<table:table-cell table:style-name=”ce7″ office:value-type=”date” office:date-value=”1984-08-09″ calcext:value-type=”date”>
<text:p>08/09/1984</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name=”ro1″>
<table:table-cell office:value-type=”string” calcext:value-type=”string”>
<text:p>BBC Show Interview in Birmingham</text:p>
</table:table-cell>
<table:table-cell table:style-name=”ce7″ office:value-type=”date” office:date-value=”1987-02-17″ calcext:value-type=”date”>
<text:p>02/17/1987</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name=”ro1″>
<table:table-cell office:value-type=”string” calcext:value-type=”string”>
<text:p>Installed OpenOffice</text:p>
</table:table-cell>
<table:table-cell table:style-name=”ce7″ office:value-type=”date” office:date-value=”2003-02-01″ calcext:value-type=”date”>
<text:p>02/01/2003</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name=”ro1″>
<table:table-cell office:value-type=”string” calcext:value-type=”string”>
<text:p>Repaired Nose in Rozzano</text:p>
</table:table-cell>
<table:table-cell table:style-name=”ce7″ office:value-type=”date” office:date-value=”2008-12-04″ calcext:value-type=”date”>
<text:p>12/04/2008</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name=”ro1″>
<table:table-cell office:value-type=”string” calcext:value-type=”string”>
<text:p>Launched LibreOffice</text:p>
</table:table-cell>
<table:table-cell table:style-name=”ce7″ office:value-type=”date” office:date-value=”2010-09-28″ calcext:value-type=”date”>
<text:p>09/28/2010</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name=”ro1″>
<table:table-cell office:value-type=”string” calcext:value-type=”string”>
<text:p>2nd Wedding in Las Vegas</text:p>
</table:table-cell>
<table:table-cell table:style-name=”ce7″ office:value-type=”date” office:date-value=”2014-08-08″ calcext:value-type=”date”>
<text:p>08/08/2014</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name=”ro2″ table:number-rows-repeated=”1048563″>
<table:table-cell table:number-columns-repeated=”2″/>
</table:table-row>
<table:table-row table:style-name=”ro2″>
<table:table-cell table:number-columns-repeated=”2″/>
</table:table-row>
</table:table>
<table:named-expressions/>
</office:spreadsheet>
</office:body>

This is an XML file of reasonable complexity. Even someone without technical knowledge can identify the contents of the two columns with a little effort. The file is in an understandable format for dates, text strings and tags (table row, table cell, text and date value).

The Microsoft 365 folder contains three subfolders and the [Content_Types].xml file. Opening this file reveals information about the other files, including those in the subfolders. It also shows that the contents should be found in the sheet1.xml file, which is hidden in the worksheets folder, which is hidden in the xl folder. There is no technical reason for this game of hide-and-seek other than to make the internal structure of the XLSX file more complicated.

The significant part of the Microsoft 365 sheet1.xml file is as follows:

<dimension ref=”A1:B12″/>
<sheetViews>
<sheetView tabSelected=”1″ workbookViewId=”0″>
<selection activeCell=”B1″ sqref=”B1:B1048576″/>
</sheetView>
</sheetViews>
<sheetFormatPr defaultRowHeight=”15″/>
<cols>
<col min=”1″ max=”1″ width=”34.140625″ style=”2″ bestFit=”1″ customWidth=”1″/>
<col min=”2″ max=”2″ width=”11.7109375″ style=”4″ bestFit=”1″ customWidth=”1″/>
</cols>
<sheetData>
<row r=”1″ spans=”1:2″>
<c r=”A1″ s=”1″ t=”s”>
<v>0</v>
</c>
<c r=”B1″ s=”3″ t=”s”>
<v>1</v>
</c>
</row>
<row r=”2″ spans=”1:2″>
<c r=”A2″ s=”2″ t=”s”>
<v>2</v>
</c>
<c r=”B2″ s=”4″>
<v>19948</v>
</c>
</row>
<row r=”3″ spans=”1:2″>
<c r=”A3″ s=”2″ t=”s”>
<v>3</v>
</c>
<c r=”B3″ s=”4″>
<v>23760</v>
</c>
</row>
<row r=”4″ spans=”1:2″>
<c r=”A4″ s=”2″ t=”s”>
<v>4</v>
</c>
<c r=”B4″ s=”4″>
<v>28813</v>
</c>
</row>
<row r=”5″ spans=”1:2″>
<c r=”A5″ s=”2″ t=”s”>
<v>5</v>
</c>
<c r=”B5″ s=”4″>
<v>29860</v>
</c>
</row>
<row r=”6″ spans=”1:2″>
<c r=”A6″ s=”2″ t=”s”>
<v>6</v>
</c>
<c r=”B6″ s=”4″>
<v>30560</v>
</c>
</row>
<row r=”7″ spans=”1:2″>
<c r=”A7″ s=”2″ t=”s”>
<v>7</v>
</c>
<c r=”B7″ s=”4″>
<v>30933</v>
</c>
</row>
<row r=”8″ spans=”1:2″>
<c r=”A8″ s=”2″ t=”s”>
<v>8</v>
</c>
<c r=”B8″ s=”4″>
<v>31825</v>
</c>
</row>
<row r=”9″ spans=”1:2″>
<c r=”A9″ s=”2″ t=”s”>
<v>9</v>
</c>
<c r=”B9″ s=”4″>
<v>37623</v>
</c>
</row>
<row r=”10″ spans=”1:2″>
<c r=”A10″ s=”2″ t=”s”>
<v>10</v>
</c>
<c r=”B10″ s=”4″>
<v>39550</v>
</c>
</row>
<row r=”11″ spans=”1:2″>
<c r=”A11″ s=”2″ t=”s”>
<v>11</v>
</c>
<c r=”B11″ s=”4″>
<v>40449</v>
</c>
</row>
<row r=”12″ spans=”1:2″>
<c r=”A12″ s=”2″ t=”s”>
<v>12</v>
</c>
<c r=”B12″ s=”4″>
<v>41859</v>
</c>
</row>
</sheetData>
<pageMargins left=”0.7″ right=”0.7″ top=”0.75″ bottom=”0.75″ header=”0.3″ footer=”0.3″/>

It’s an extremely cryptic XML file. Apart from a few tags – col, row, sheetview and sheetdata – the XML schema is completely incomprehensible. Where are the dates? Where are the event descriptions?

They are actually there, but I challenge anyone to find them unless they know that Excel describes them with a sequential number starting from 1 January 1900. For 29 February 1900, it adds one, despite this being a “phantom” day that the programme – which is incompatible with the Gregorian calendar, a standard recognised even by the Chinese and Muslims – stubbornly continues to consider as existing, even though the “leap year bug” was discovered by Bob Bemer in 1958.

Therefore, in Excel, 19948 corresponds to 12 August 1954, but in reality it is 13 August 1954. The other dates are obviously 23,760; 28,813; 29,860; 30,560; 30,933; 31,825; 37,623; 39,550; 40,449; and 41,859. This is intuitive and easy to calculate, and above all it is imposed by the complexity of the document. Bullshit.

However, the mystery of the event descriptions remains. According to sheet1.xml, they do not exist since they do not appear in any way, not even as a reference. It is as if the spreadsheet consisted only of the second column.

So, I return to the [Content_Types].xml file and open the XML files in the order they are listed, searching for them in the subfolders.

<Types xmlns=”http://schemas.openxmlformats.org/package/2006/content-types”>
<Default Extension=”rels” ContentType=”application/vnd.openxmlformats-package.relationships+xml”/>
<Default Extension=”xml” ContentType=”application/xml”/>
<Override PartName=”/xl/workbook.xml” ContentType=”application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml”/>
<Override PartName=”/docProps/core.xml” ContentType=”application/vnd.openxmlformats-package.core-properties+xml”/>
<Override PartName=”/docProps/app.xml” ContentType=”application/vnd.openxmlformats-officedocument.extended-properties+xml”/>
<Override PartName=”/xl/worksheets/sheet1.xml” ContentType=”application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml”/>
<Override PartName=”/xl/theme/theme1.xml” ContentType=”application/vnd.openxmlformats-officedocument.theme+xml”/>
<Override PartName=”/xl/styles.xml” ContentType=”application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml”/>
<Override PartName=”/xl/sharedStrings.xml” ContentType=”application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml”/>
</Types>

Just as I was about to give up hope, I finally found the event descriptions in the sharedStrings.xml file. The file contains the following:

<sst xmlns=”http://schemas.openxmlformats.org/spreadsheetml/2006/main” count=”13″ uniqueCount=”13″>
<si>
<t>Event</t>
</si>
<si>
<t>Date</t>
</si>
<si>
<t>Was Born in Umbria</t>
</si>
<si>
<t>Broke Nose in Rome</t>
</si>
<si>
<t>University Degree in Milan</t>
</si>
<si>
<t>First Job at Italian Touring Club</t>
</si>
<si>
<t>Hired by Honeywell and Got 1st PC</t>
</si>
<si>
<t>1st Wedding in Assisi</t>
</si>
<si>
<t>BBC Show Interview in Birmingham</t>
</si>
<si>
<t>Installed OpenOffice</t>
</si>
<si>
<t>Repaired Nose in Rozzano</t>
</si>
<si>
<t>Launched LibreOffice</t>
</si>
<si>
<t>2nd Wedding in Las Vegas</t>
</si>
</sst>

If Sheet1.xml was cryptic, this is downright incomprehensible. I would like to know how the events are related to the dates within the sheet1.xml file through the different tags used in the two files: <t> and <v>. There are no cross-references linking the two elements, and if there are any, I challenge anyone to explain them to me in a way that I can understand and justify the mysterious format of these references.

Unfortunately, the reality is what I have already tried to explain without going into technical detail, as I have done in this post and will do in the next one dedicated to the DOCX case. Microsoft has developed an unnecessarily complex format – if LibreOffice can handle the information more simply, I don’t understand why Microsoft 365 can’t do the same – with the aim of making it extremely difficult to emulate the OOXML format without reverse engineering, which is widely used in some countries.

Furthermore, office suites that use reverse engineering to adopt OOXML as their native format merely help Microsoft to defend its market share by promoting a proprietary format that goes against users’ interests and their right to ownership and control of the content they have developed, generally referred to as digital sovereignty.

Users should learn to protect their rights by choosing an open, standard format such as ODF. This guarantees control over content and all that this entails, including protection of privacy, proper management of sensitive data and the ability to decide what to share and with whom.

This is a format whose development process, features and version are known, and whose description corresponds to what happens on the user’s PC, so even the least technical user can understand when a problem occurs and, in many cases, solve it.

In short, it is the standard document format that we would all like to have, but which only a minority use due to a lack of knowledge about the reality of the OOXML format, and the messianic trust that many have in Microsoft. This leads them to believe that there cannot be a commercial strategy behind the document format that protects the company’s interests at the expense of users.

  • ✇The Document Foundation Blog
  • LibreOffice and Software Freedom Day 2025 in Nepal
    Updates from the Nepalese LibreOffice community: Recent protests and stress in Nepal have disrupted regular activities. Almost everything was affected, including in-person events being canceled rapidly. For open source software users, Software Freedom Day 2025 was a big celebration. But many felt disillusioned about the event. Despite all this, our community members in Nepal tuned in to an online call and turned Software Freedom Day 2025 into a success. Birendra Open Source Club – one of the st
     

LibreOffice and Software Freedom Day 2025 in Nepal

23 septembre 2025 à 11:34

Opening slide of Suraj's talk

Updates from the Nepalese LibreOffice community:

Recent protests and stress in Nepal have disrupted regular activities. Almost everything was affected, including in-person events being canceled rapidly. For open source software users, Software Freedom Day 2025 was a big celebration. But many felt disillusioned about the event.

Despite all this, our community members in Nepal tuned in to an online call and turned Software Freedom Day 2025 into a success. Birendra Open Source Club – one of the student clubs and LibreOffice project contributors in Nepal, with support from Liaison Suraj Bhattarai and other key open source clubs, hopped onto Discord on 20 September. They carried out a series of talks among new and old enthusiasts and learners. The talks ranged from the importance of community and good first contributions, all the way up to open source in cybersecurity and open source pieces of hardware.

Suraj shared a short talk about Open Formats and added a little fun with the Easter hunt available on the LibreOffice Asia site.

Participants learned that a sense of freedom for software is only true when all the components, including formats or what we generally call “extensions,” share the same freedom as speech. It matters most in the case of canvas-based software and What You See Is What You Get (WYSIWYG) software, where there are different options to export or save the work in progress.

He emphasized that open formats are essential to software freedom because they let free software and users interoperate without barriers. Also, he highlighted the difference between open formats and closed formats.

TDF says: thanks to the Nepalese community for all their work! Click here to see Suraj’s presentation slides.

  • ✇The Document Foundation Blog
  • Community Member Monday: Devansh Varshney
    Today we’re talking to Devansh Varshney, who added histogram chart support to LibreOffice and is working on improvements to the Basic IDE… Tell us a bit about yourself! I am from Mathura in India, one of the historical cities where the first image of Buddha was carved during the Kushan Empire, Jain Tirthankar Neminatha’s birthplace and the more famous Bhagwan Krishna birthplace. A city where Greek kings also ruled and whose history has been documented by many travellers, the more famous Xuanzan
     

Community Member Monday: Devansh Varshney

22 septembre 2025 à 09:31

Devansh Varshney

Today we’re talking to Devansh Varshney, who added histogram chart support to LibreOffice and is working on improvements to the Basic IDE…

Tell us a bit about yourself!

I am from Mathura in India, one of the historical cities where the first image of Buddha was carved during the Kushan Empire, Jain Tirthankar Neminatha’s birthplace and the more famous Bhagwan Krishna birthplace. A city where Greek kings also ruled and whose history has been documented by many travellers, the more famous Xuanzang and Faxian.

The rich history and diverse art culture of Mathura also reflects my interests too. My interests range from history to astrophysics to economics, and from tweaking custom Android ROMs back in high school to now tweaking the LibreOffice codebase which is one of the most interesting puzzles I came across. Even the people around me noticed and back in school I was given the name “Internet” – which was quite an interesting name but really reflects my nature.

Besides working on the LibreOffice codebase, I am also planning to complete my book on ADHD which I have mapped around first principles and physics. Hopefully by next year it will be complete.

Vishram Ghat by Umang108 on Wikimedia Commons

Vishram Ghatl on the banks of river Yamuna in Mathura (image: Umang108 on Wikimedia, CC-BY-SA)

What are you working on in the LibreOffice project right now?

This year I am working on making the Basic IDE better and more powerful by introducing a new Object Browser in the IDE, which is one of the most-demanded features as users working with LibreOffice had to visit the online API webpage to refer to the details of UNO APIs. That was quite a friction, and slows down not just the work but also decreases the user experience specially for macro developers.

Along with this, there is also the Basic code suggestion which will be available to users, so that they do not have to look every time what is going to be put when the suggestion can show the list of possible parameters and variables that can be placed.

Why did you choose to join the LibreOffice project, and how was the experience?

This is an interesting question. Back in 2017-2018 I experienced a lot of challenges with the Chrome browser, and thought about fixing them. That’s when I came across the Chromium project – upon which Chrome is based – and I did try to ask how to contribute and got some reply, but it was different from what I got in the LibreOffice project.

Here I did not get silence or confusion when I picked a bug, rather people showed interest and curiosity, and helped me do what I intended to fix. I am not putting other open-source projects on a pedestal – it’s just what I experienced at LibreOffice.

I also made some small contributions to the Google Benchmark and Blockly project and Phoenix Framework previously, but the big twist came last year when Ilmari got curious and asked me why I hadn’t mentioned the Google Summer of Code (GSoC) yet and pushed me to apply for 2024. I looked at the projects and found “Adding Native Histogram support to LibreOffice“.

Since in the past I had worked with machine learning, I saw that the need for these new chart types is crucial. But this is not just the point — while preparing the proposal for the histogram project, I found that CERN uses LibreOffice for their work and they even had a tutorial on a workaround of making histogram charts via column charts (link).

Which showed me two things: first, the lack of this feature is not just slowing human research, but also that the impact of LibreOffice is worldwide. This was the exact moment I realised that LibreOffice is not just about an office suite that lets people have autonomy over their data – but also its impact on human evolution and development is of sheer size.

Histogram charts in LibreOffice

Anything else you plan to do in the future? What does LibreOffice really need?

Yes, there is a lot of work remaining. First and foremost is the addition of Histogram Chart and other new chart types, as we later found challenges with how charts are being mapped in the codebase, and the newly introduced namespace by Microsoft for OOXML export made work more challenging. Then this year I got more interested in OCR with images and files like PDFs, natively available to users locally.

I tried to make an extension with Tesseract but its efficiency is not that great and it misses the whole structure of how the text was in the image.

Since LLMs (large language models) are something famous nowadays, I looked at how they are processing and reading images, and found they really can’t read images directly. The images first have to be processed by something called Vison Language Models (VLMs).

Nowadays there are some amazing open-source VLMs available which are also small in size and can run locally – even with the computing power of a mobile device. So I am also looking at ways we can get this working with LibreOffice, so that not just OCR but also reliable translation from text to the captured structure and modifying that structure can be done.

Many thanks to Devansh for the great contributions to LibreOffice! Everyone is welcome to find out what they can do to make the suite even better 😊

  • ✇The Document Foundation Blog
  • LibreOffice-focused talks at the Open Source Conference 2025 Luxembourg
    The Open Source Conference 2025 will take place the 1st of October 2025 in Belval, Esch-sur-Alzette, Luxembourg, following a very successful first edition in 2024 in combination with the LibreOffice Conference. Open Source software, together with data sovereignty, form the basis to achieve Digital Sovereignty as an inclusive effort where all the participants cooperate to create the tools we need to protect our data, while sharing the technologies that improve everyone’s digital lives. This year’
     

LibreOffice-focused talks at the Open Source Conference 2025 Luxembourg

21 septembre 2025 à 18:18

The Open Source Conference 2025 will take place the 1st of October 2025 in Belval, Esch-sur-Alzette, Luxembourg, following a very successful first edition in 2024 in combination with the LibreOffice Conference. Open Source software, together with data sovereignty, form the basis to achieve Digital Sovereignty as an inclusive effort where all the participants cooperate to create the tools we need to protect our data, while sharing the technologies that improve everyone’s digital lives. This year’s main tracks provide the opportunity to share the experiences of those that have chosen to produce and implement Open Source tools and platforms that improve security, resilience and data protection.

During the day, there will be several talks focused on LibreOffice or by LibreOffice community members:

  1. Open Innovation and Open Source in Schleswig-Holstein, by Sven Thomsen, CIO of the State of Schleswig-Holstein
  2. Free your mayor! Digital transformation and free software in Échirolles, by Nicolas Vivant, IT Manager of the City of Échirolles
  3. The foundation behind LibreOffice, by Florian Effenberger, Executive Director of The Document Foundation
  4. This is how it works: Open Source as competitive factor in the private (and public?) sector, by Lothar Becker, Managing Director of .riess-applications

Registration is still open: conference.opensource.lu/registration/

  • ✇The Document Foundation Blog
  • Video recap: LibreOffice Conference 2025
    Here’s a quick video recap from the recent LibreOffice Conference 2025 which took place in Budapest. Thanks to everyone who attended (The video is also available on PeerTube.) Please confirm that you want to play a YouTube 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
     

Video recap: LibreOffice Conference 2025

18 septembre 2025 à 03:37

Here’s a quick video recap from the recent LibreOffice Conference 2025 which took place in Budapest. Thanks to everyone who attended 😊 (The video is also available on PeerTube.)

Please confirm that you want to play a YouTube 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.

  • ✇The Document Foundation Blog
  • LibreOffice case study: Flotte Karotte
    Companies around the world use LibreOffice to reduce costs, improve their privacy, and free themselves from dependence on single vendors. Today we’re talking to Flotte Karotte, a German company with 50 employees that recently made a generous donation to support the LibreOffice project and community: What is Flotte Karotte? Flotte Karotte is an organic delivery service. We have been in business since 1996. Starting out as a marketing channel for regional growers with the aim of bringing organic
     

LibreOffice case study: Flotte Karotte

17 septembre 2025 à 03:53

LibreOffice in business

Companies around the world use LibreOffice to reduce costs, improve their privacy, and free themselves from dependence on single vendors. Today we’re talking to Flotte Karotte, a German company with 50 employees that recently made a generous donation to support the LibreOffice project and community:

What is Flotte Karotte?

Flotte Karotte is an organic delivery service. We have been in business since 1996. Starting out as a marketing channel for regional growers with the aim of bringing organic produce to the masses, we have since become a full-range supplier. This means that in addition to fruit and vegetables, we also deliver bread, meat and sausage, dairy products, pasta, grains/seeds, sauces, spreads, cosmetics, etc. In other words, everything you would find in an organic supermarket. However, we focus on brands that are loyal to the organic trade and are not usually sold in conventional food retail outlets. We also prioritise association products (Bioland, Demeter) over EC organic products wherever possible.

We attach great importance to seasonality and regionality. Of course, the latter cannot be achieved for all products (bananas). Wherever possible, we try to source from regional growers. We have been working with regional farmers and vegetable growers for years. What makes us special is that we can offer smaller farms in particular a secure marketing channel. This enables the farms to grow more different crops and thus promote diversity. They would not be able to sell these smaller quantities in the wholesale market.

We currently have around 50 employees working in the office, and as drivers and in packing. Sustainability is also important to us when it comes to mobility. Since 2017, we have been increasingly focusing on electric mobility and now deliver almost exclusively by electric vehicle. In the Essen Rüttenscheid district, we deliver exclusively by cargo bike with our partner Roman from Frachtradler.

Values: products, sustainability, cooperation

When did you start using free and open source software (FOSS)?

We have relied on open source from the very beginning. Among other reasons, this is of course due to cost considerations. However, it is also because, as in trade and cultivation, we are critical of the concentration of power and the associated dependence on a few providers in the software services sector.

Which apps do you use in the company?

We use Thunderbird as our email programme, Mozilla Firefox as our default browser, and LibreOffice as our office software (especially for word processing and spreadsheets). Our server runs on Linux, and we use Proxmox for virtualisation.

What have been your experiences with LibreOffice so far?

LibreOffice fully meets our requirements for office application software. There is only one compatibility issue with a public sector contractor who works with Microsoft. A formula used in their Excel spreadsheet is not supported by LibreOffice. However, the solution here should be for the public sector to become independent of proprietary software from the US.

Many thanks again to Flotte Karotte for their generous donation! We hope they continue to find LibreOffice useful for many years to come.

  • ✇The Document Foundation Blog
  • TDF Annual Report 2024
    The Annual Report of The Document Foundation describes the foundation’s activities and projects, especially in regard to LibreOffice and the Document Liberation Project. We’ve been posting sections of the 2024 report here on the blog, and now the full version is available in PDF format on TDF’s Nextcloud server in two different versions: low resolution (6.6MB) and high resolution (56.2MB). The Annual Report is based on the German version presented to the authorities. The document has been entir
     

TDF Annual Report 2024

15 septembre 2025 à 04:01

The Annual Report of The Document Foundation describes the foundation’s activities and projects, especially in regard to LibreOffice and the Document Liberation Project.

We’ve been posting sections of the 2024 report here on the blog, and now the full version is available in PDF format on TDF’s Nextcloud server in two different versions: low resolution (6.6MB) and high resolution (56.2MB). The Annual Report is based on the German version presented to the authorities.

The document has been entirely created with free open source software: written contents have obviously been developed with LibreOffice Writer (desktop) and collaboratively modified with LibreOffice Writer (online), charts have been created with LibreOffice Calc and prepared for publishing with LibreOffice Draw, drawings and tables have been developed or modified (from legacy PDF originals) with LibreOffice Draw, images have been prepared for publishing with GIMP, and the layout has been created with Scribus based on the existing templates.

We at The Document Foundation are very grateful to all contributors to our projects and communities in 2024 – none of this would be possible without you!

  • ✇The Document Foundation Blog
  • How to resolve common compatibility issues with ODF files
    Troubleshooting opening, formatting, and data loss issues with Open Document Format files ODF files are great for sharing documents across multiple platforms, but they don’t always work perfectly, especially when using Microsoft Office or other software based on proprietary formats. If you’ve encountered problems opening, editing, or preserving the formatting of .odt, .ods, or .odp files, you’re not alone. Here’s an overview of the most common compatibility issues with ODF files, along with thei
     

How to resolve common compatibility issues with ODF files

12 septembre 2025 à 12:51

Troubleshooting opening, formatting, and data loss issues with Open Document Format files

ODF files are great for sharing documents across multiple platforms, but they don’t always work perfectly, especially when using Microsoft Office or other software based on proprietary formats. If you’ve encountered problems opening, editing, or preserving the formatting of .odt, .ods, or .odp files, you’re not alone.

Here’s an overview of the most common compatibility issues with ODF files, along with their solutions.

1. The ODF file does not open in Microsoft Office

Opening an .odt file with Word or an .ods file with Excel is unsuccessful, and the file opens with formatting errors. Microsoft Office supports ODF, but not always correctly, and although support has improved in recent versions, files continue to have difficulties with some features.

There are two solutions: updating Microsoft Office, as compatibility improves with each new version; and converting with LibreOffice, which natively handles ODF files and, in compatibility mode, .docx and .xlsx files much better than Microsoft Office does with .odt and .ods files.

2. Formatting changes during transfer between suites

A file may appear perfect in LibreOffice, but when opened in Microsoft Office, the layout, fonts or spacing may change. This happens because the two software programmes interpret elements such as text boxes, tables and styles differently. Line spacing and bullet points may also change.

The solution is to use simple formatting in all cases where the file is shared between multiple office suites, avoiding complex layouts, unusual fonts and embedded elements. If formatting is more important than editability, you can use PDF format for the final version.

3. Images and graphics disappear or become corrupted

Images or graphics embedded in the document disappear, become distorted or can no longer be edited when opened with other software. This is because their formats are specific to the software that created the file – and therefore proprietary – and not standard, as is often the case with Microsoft Office.

The solution is to use standard formats, such as PNG or JPG for bitmap images, and SVG for vector images. In some cases, it is advisable to convert images before embedding them in the document and, if possible, simplify them (without altering them).

4. Macros and scripts do not work

Macros written in one suite do not work (or cause errors) in another. This is a known problem, linked to the fact that the scripting languages – Microsoft Office VBA and LibreOffice Basic – are proprietary and therefore incompatible with each other.

The solution is to avoid macros when sharing files, and if it is really impossible to do without them, you need to rewrite the scripts for each platform, using the respective languages. Unfortunately, there are no shortcuts or interoperable solutions.

5. Some data is lost when saving in proprietary format

In some cases, quite sporadic, saving an ODF file in proprietary format causes data loss. Unfortunately, this is a problem due to the artificial complexity of Microsoft Office proprietary files, which use an XML syntax that is very different from the standard in order to limit file interoperability. The solution is to always keep a copy of the original ODF file, because the format is much more robust and, above all, can be recovered by the user in case of file corruption.

In these cases, LibreOffice is the user’s best friend, because it handles ODF files natively and exports clean .docx, .xlsx and .pptx files with XML syntax that never reaches the level of artificial complexity of Microsoft Office.

Final considerations

ODF is the best open standard format for office documents. It is robust and flexible and was created to protect users’ rights thanks to its features that make it independent, interoperable, neutral and perennial. However, this does not mean that it is perfect and easy for developers to implement when the software has not been developed with the same objectives as LibreOffice, as in the case of Microsoft Office.

If problems arise, the key is to know what each office suite can and cannot handle, bearing in mind that LibreOffice was developed with the aim of protecting the interests of users, while proprietary suites were developed to protect the commercial interests of vendors.

The secret is to keep things simple, focusing on the content rather than the appearance of the document. When in doubt, always use the safest format, which is ODF.

  • ✇The Document Foundation Blog
  • Czech translation of LibreOffice Calc Guide 25.2
    Zdeněk Crhonek (aka “raal”) from the Czech LibreOffice community writes: The Czech translation of the LibreOffice Calc Guide 25.2 is now available, thanks to the endless efforts of our team. It was translated by Petr Kuběj, Radomír Strnad and me. The Czech screenshots were done by Roman Toman, Petr Kuběj and me. Preparation of the chapters for translation was done in OmegaT – machine translation as suggestions, reuse of old screenshots etc. was done by Miloš Šrámek. Thanks to everyone for the h
     

Czech translation of LibreOffice Calc Guide 25.2

10 septembre 2025 à 03:23

Czech LibreOffice Calc Guide cover

Zdeněk Crhonek (aka “raal”) from the Czech LibreOffice community writes:

The Czech translation of the LibreOffice Calc Guide 25.2 is now available, thanks to the endless efforts of our team. It was translated by Petr Kuběj, Radomír Strnad and me. The Czech screenshots were done by Roman Toman, Petr Kuběj and me. Preparation of the chapters for translation was done in OmegaT – machine translation as suggestions, reuse of old screenshots etc. was done by Miloš Šrámek. Thanks to everyone for the hard work, and if anyone would like to join the team, they are welcome to do so.

Great work everyone!

  • ✇The Document Foundation Blog
  • New “LibreOffice Expert 2025/2026” magazines available for schools and local communities
    A few weeks ago, Linux New Media released an updated version of its “LibreOffice Expert” magazine, which contains tutorials, tips and tricks about the office suite. And some articles were contributed by members of the LibreOffice community! The magazines come with DVDs that include LibreOffice for Linux, Windows and macOS, alongside extra templates, extensions, videos and guidebooks. We have some copies to give away, for schools, universities, libraries and local communities. Ideally, we’d like
     

New “LibreOffice Expert 2025/2026” magazines available for schools and local communities

9 septembre 2025 à 03:59

LibreOffice Expert magazines

A few weeks ago, Linux New Media released an updated version of its “LibreOffice Expert” magazine, which contains tutorials, tips and tricks about the office suite. And some articles were contributed by members of the LibreOffice community! The magazines come with DVDs that include LibreOffice for Linux, Windows and macOS, alongside extra templates, extensions, videos and guidebooks.

We have some copies to give away, for schools, universities, libraries and local communities. Ideally, we’d like to get these magazines out to places where internet connections aren’t always available – so that the users can really benefit from the DVDs.

So, if you can help us to distribute these magazines, drop us a line! Please note that we have 50 copies in total and can therefore only send a maximum of five copies to any one place, to make sure many communities get a chance. When you contact us, please include this information (any requests without information cannot be fulfilled and will be ignored):

  1. What you want to do with the magazines
  2. How many you want (1 – 5 copies)
  3. The address to which we should post them

Include all of that that information in an email to us and let’s see what we can do!

(Note: if you want to buy the magazine directly from the publisher, you can do so here.)

  • ✇The Document Foundation Blog
  • The Document Foundation announces LibreOffice 25.2.6
    Berlin, 8 September 2025 – The Document Foundation announces the release of LibreOffice 25.2.6, the sixth maintenance release of the LibreOffice 25.2 family, available for download at www.libreoffice.org/download [1]. LibreOffice 25.2.6 is based on the LibreOffice Technology, which enables the development of desktop, mobile and cloud versions – either from TDF or from the ecosystem – that fully support the two ISO standards for document formats: the open ODF or Open Document Format (ODT, ODS an
     

The Document Foundation announces LibreOffice 25.2.6

8 septembre 2025 à 07:19

Berlin, 8 September 2025 – The Document Foundation announces the release of LibreOffice 25.2.6, the sixth maintenance release of the LibreOffice 25.2 family, available for download at www.libreoffice.org/download [1].

LibreOffice 25.2.6 is based on the LibreOffice Technology, which enables the development of desktop, mobile and cloud versions – either from TDF or from the ecosystem – that fully support the two ISO standards for document formats: the open ODF or Open Document Format (ODT, ODS and ODP) and the closed and proprietary Microsoft OOXML (DOCX, XLSX and PPTX).

Products based on the LibreOffice Technology are available for all major desktop operating systems (Windows, macOS, Linux and ChromeOS), mobile platforms (Android and iOS) and the cloud.

For enterprise-class deployments, TDF recommends a LibreOffice Enterprise optimized version from one of the ecosystem companies, with dedicated value-added features and other benefits such as SLAs and security patch backports for three to five years (www.libreoffice.org/download/libreoffice-in-business/).

English manuals for the LibreOffice 25.2 family are available for download at https://books.libreoffice.org/en/. End users can get first-level technical support from volunteers on the user mailing lists and the Ask LibreOffice website: ask.libreoffice.org.

Downloading LibreOffice

All available versions of LibreOffice for the desktop can be downloaded from the same website: www.libreoffice.org/download/.

LibreOffice users, free software advocates and community members can support The Document Foundation and the LibreOffice project by making a donation: https://www.libreoffice.org/donate.

[1] Fixes in RC1: wiki.documentfoundation.org/Releases/25.2.6/RC1. Fixes in RC2: wiki.documentfoundation.org/Releases/25.2.6/RC2.

LibreOffice Conference 2025: Group photo time!

5 septembre 2025 à 10:14

LibreOffice Conference 2025 group photo

We’re gathered together at the LibreOffice Conference 2025 in Budapest. A big thanks to the organisers! Here’s the group photo we took this afternoon. Of course, this is just one part of the wider LibreOffice community, made of hundreds of people.

Join them!

  • ✇The Document Foundation Blog
  • LibreOffice project and community recap: August 2025
    Here’s our summary of updates, events and activities in the LibreOffice project in the last four weeks – click the links to learn more… Every six months – in February and August – we release a new major update to LibreOffice. And on 20 August, LibreOffice 25.8 arrived with many new features, plus compatibility improvements and performance boosts. Check out this video for an overview (also available on PeerTube): Please confirm that you want to play a YouTube video. By accepting, you will be
     

LibreOffice project and community recap: August 2025

1 septembre 2025 à 04:17

LibreOffice 25.8 banner

Here’s our summary of updates, events and activities in the LibreOffice project in the last four weeks – click the links to learn more…

  • Every six months – in February and August – we release a new major update to LibreOffice. And on 20 August, LibreOffice 25.8 arrived with many new features, plus compatibility improvements and performance boosts. Check out this video for an overview (also available on PeerTube):

Please confirm that you want to play a YouTube 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.

LibreOffice Asia Conference 2024 group photo

ODF logo

  • At The Document Foundation, we have a new job opening! Join the LibreOffice Team as a Paid Developer focusing on UI with initial emphasis on macOS, preferably full-time, remote.

  • LibreOffice does not include artificial intelligence (AI) out-of-the-box. But many users want AI features in the suite – so we encourage developers to make them available as optional extensions. And that’s what Igor Támara did, creating the “Stable Diffusion for LibreOffice” extension for AI-generated images powered by AI Horde (a volunteer crowd-sourced distributed cluster of image generation workers).

Stable Diffusion image generator for LibreOffice

Aeroplane 3D model being viewed in LibreOffice Calc

  • Some sad news: long-time LibreOffice contributor Juan Carlos Sanz passed away. We are very thankful to his work in the project over the years.

Juan Carlos Sanz

  • Finally, we posted a reminder that the LibreOffice Conference 2025 is coming up in Budapest, from 4 – 6 September. See you there! 😊

Conference logo

Keep in touch – follow us on Mastodon, X (formerly Twitter), Bluesky, Reddit and Facebook. Like what we do? Support our community with a donation – or join our community and help to make LibreOffice even better!

  • ✇The Document Foundation Blog
  • Announcement of LibreOffice 25.8.1
    Berlin, 29 August 2025 – LibreOffice 25.8.1, the first minor release of the free, volunteer-supported office suite for personal productivity in office environments, is now available at https://www.libreoffice.org/download for Windows, MacOS and Linux. The release includes close to 100 bug and regression fixes over LibreOffice 25.8 [1] to improve the stability and robustness of the software. In particular, the release resolves the application crash issue related to the NoteBookBar UI option, and
     

Announcement of LibreOffice 25.8.1

29 août 2025 à 08:23

Berlin, 29 August 2025 – LibreOffice 25.8.1, the first minor release of the free, volunteer-supported office suite for personal productivity in office environments, is now available at https://www.libreoffice.org/download for Windows, MacOS and Linux.

The release includes close to 100 bug and regression fixes over LibreOffice 25.8 [1] to improve the stability and robustness of the software. In particular, the release resolves the application crash issue related to the NoteBookBar UI option, and several bugs related to opening documents in Microsoft proprietary format.

LibreOffice is the only office suite with a feature set comparable to the market leader. It also offers a range of interface options to suit all user habits, from traditional to modern, and makes the most of different screen form factors by optimising the space available on the desktop to put the maximum number of features just a click or two away.

For users who don’t need the latest features and prefer a version that has undergone more testing and bug fixing, The Document Foundation maintains the LibreOffice 25.2 family, which includes several months of back-ported fixes. The current release is LibreOffice 25.2.5.

The Document Foundation does not provide technical support for users, although they can get it from volunteers on user mailing lists and the Ask LibreOffice website: https://ask.libreoffice.org

LibreOffice users, free software advocates and community members can support the Document Foundation by making a donation at https://www.libreoffice.org/donate.

[1] Fixes in RC1: https://wiki.documentfoundation.org/Releases/25.8.1/RC1.

  • ✇The Document Foundation Blog
  • One week to the LibreOffice Conference in Budapest
    The LibreOffice Conference will start in a week from today with the Community Meeting, at the Faculty of Informatics of ELTE (Eötvös Loránd University) in Pázmány Péter stny. 1/C, 1117 Budapest. The building is just in front of the Danube on the historic Buda side, and can be easily reached either by walking or by public transportation from the city center in Pest, where you can find the majority of hotels and restaurants. To reach the city from the airport, take Bus 100E which goes directly to
     

One week to the LibreOffice Conference in Budapest

27 août 2025 à 08:21

The LibreOffice Conference will start in a week from today with the Community Meeting, at the Faculty of Informatics of ELTE (Eötvös Loránd University) in Pázmány Péter stny. 1/C, 1117 Budapest. The building is just in front of the Danube on the historic Buda side, and can be easily reached either by walking or by public transportation from the city center in Pest, where you can find the majority of hotels and restaurants.

To reach the city from the airport, take Bus 100E which goes directly to downtown (Deák Ferenc tér). Buy and validate tickets directly on the bus using your bank card for the Budapest Pay&GO service. bkk.hu/en/travel-information/airport-express/

Inside the city use public transport (BKK): metro, tram, bus. Buy tickets from purple machines or use the BudapestGO mobile app (iOS, Android). bkk.hu/en/ The best deal is a 24h / 72h travel pass, which does not need validation at each trip. IMPORTANT: the travel pass is not valid for the airport bus!

Currency is Hungarian Forint (HUF). Cards are accepted almost everywhere, but also you may need some Forint cash from Correct Change, Exclusive Change, or Gold Change. Avoid Euronet ATMs, use instead ATMs at major Hungarian banks like OTP, K&H, Erste, UniCredit, Raiffeisen, or CIB.

Time zone is CEST (UTC+2). Electricity is 230V, with standard European plug.

The Survival Guide with more information will soon be available on the Conference website.

  • ✇The Document Foundation Blog
  • In memory of Juan Carlos Sanz
    Juan Carlos Sanz, a long time contributor to OpenOffice and LibreOffice, and a TDF Member, passed away last Friday, August 22. He has been contributing to documentation and localization in Spanish, and has been active in the forums to help LibreOffice users as much as he could. In July 2022, Juan Carlos was interviewed by Mike Saunders for the Community Member Monday. In 2022, he also attended the LibreOffice Conference in Milan (2022) and Bucharest (2023).  
     

In memory of Juan Carlos Sanz

27 août 2025 à 07:46

Juan Carlos Sanz, a long time contributor to OpenOffice and LibreOffice, and a TDF Member, passed away last Friday, August 22. He has been contributing to documentation and localization in Spanish, and has been active in the forums to help LibreOffice users as much as he could.

In July 2022, Juan Carlos was interviewed by Mike Saunders for the Community Member Monday. In 2022, he also attended the LibreOffice Conference in Milan (2022) and Bucharest (2023).

 

  • ✇The Document Foundation Blog
  • LibreOffice 25.8: The first week, in statistics
    One week ago, we announced LibreOffice 25.8, 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… 642,564 downloads These are just stats for our official downloads page, of course – many Linux users will have acquired the new release via their distribution’s package repositories. 23,399 views, shares and likes on social media Combining our Mastodon, Bl
     

LibreOffice 25.8: The first week, in statistics

27 août 2025 à 03:25

LibreOffice 25.8 banner

One week ago, we announced LibreOffice 25.8, 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…

642,564 downloads

These are just stats for our official downloads page, of course – many Linux users will have acquired the new release via their distribution’s package repositories.

23,399 views, shares and likes on social media

Combining our Mastodon, Bluesky, X/Twitter and Facebook posts about the announcement, and all the likes, shares, views and comments, we get 23,999. Thanks to everyone who spread the word on social media! 😊

1,225 upvotes on Reddit

On release day, we posted the announcement on the /r/linux subreddit. There was lots of discussion there about the new update, including things users like and things that could still be improved.

Huge thanks to our worldwide community of volunteers, and certified developers, for all their work on this release!

  • ✇The Document Foundation Blog
  • PyPos3DLO: Python 3D App based on LibreOffice
    Today we’re talking to Olivier Dufailly, who’s working on PyPos3DLO, an app based on LibreOffice to create mechanical characters, edit and optimize Poser files, and manipulate WaveFront files: Tell us a bit about yourself! I live in Toulouse (France) and for around 30 years I’ve mainly worked in the space and aeronautical domain (from software to system engineering), although I was also a business manager for a few years, and the first CIO of a mid-size engineering company. But now, I’m back in
     

PyPos3DLO: Python 3D App based on LibreOffice

26 août 2025 à 02:58

PyPos3DLO

Today we’re talking to Olivier Dufailly, who’s working on PyPos3DLO, an app based on LibreOffice to create mechanical characters, edit and optimize Poser files, and manipulate WaveFront files:

Tell us a bit about yourself!

I live in Toulouse (France) and for around 30 years I’ve mainly worked in the space and aeronautical domain (from software to system engineering), although I was also a business manager for a few years, and the first CIO of a mid-size engineering company. But now, I’m back in my preferred domain: space systems engineering and development. It’s a so exciting environment.

On a personal side, I like and practice sports (swimming, biking, running) and 3D modeling. I remember, when I bought my first Casio graphic tracer in 1985, I immediately ported some Apple BASIC 3D curves programs to Casio BASIC!

And now, I always like to produce some airplanes models for 3D rendering (unfortunately, the former free site ShareCG.com has disappeared so I need to find a way to publish my work elsewhere). Additionally, I think that we – all of us – are responsible of our children’s planet, and open source software is sustainable and so is vital to help us in the future.

What are you working on right now?

I’ve produced a LibreOffice-based application to help 3D mechanical characters development. I’d would be proud to present it in more detail later, but for now: PoJamas aims to provide a Python library and tools for loading, processing, and producing .cr2, pz3 (crz, pzz) files compatible with the SmithMicro (e-Frontier) Poser character animation application. It includes PyPos3DLO, an app based on LibreOffice to create mechanical characters, and edit and optimize Poser files.

Why did you choose to become a member of The Document Foundation?

LibreOffice is a great project and I’d like to try to contribute to its development. It’s just the beginning, but I feel welcome in the project already.

Anything else you plan to do in the future? What does LibreOffice really need?

I have a strategic approach concerning LibreOffice and general engineering usage.

In my professional and personal domains, engineers, PhD, techs guys produce studies and data for testing and running large and complex systems. To do this, they usually use Microsoft Office with a huge amount of BASIC macros. Moreover, they also use MATLAB and try to integrate or automatize things.

They usually have a lot of “integration” problems and the result is frequently a mess: hard to use, and more or less impossible to maintain or transfer. It’s a lack of experts’ time, when they spend too much time o “silly” development instead of doing their own business.

Our main problems are testing, maintainability and costs.

Finally, I’m convinced that we should promote a new maintainable approach for engineering studies with a better integration of Python (or other, if any languages) in LibreOffice. (Financial studies may be also greatly enhanced with an easy integration between Python libraries and Calc/Excel sheets).

At the end of the journey, BASIC should naturally become extinct.

To achieve this goal, we will need to enhance LibreOffice, ease the development of LibreOffice macros, and teach our users with many tutorials.

I’d be happy to help with testing, writing tutorials, or anything else.

PyPos3DLO

  • ✇The Document Foundation Blog
  • LibreOffice 25.8 Backgrounder
    LibreOffice 25.8: a Strategic Asset for Governments and Enterprises Focused on Digital Sovereignty and Privacy Overview In a time when geopolitical tensions, data localization laws, and compliance risks are reshaping the IT landscape, LibreOffice 25.8 (released last week) stands out as a strategic choice. It’s a fully open source, locally run productivity suite designed for organizations that require full control over their software, data, and infrastructure. This version builds directly on pri
     

LibreOffice 25.8 Backgrounder

25 août 2025 à 03:53

LibreOffice 25.8: a Strategic Asset for Governments and Enterprises Focused on Digital Sovereignty and Privacy

Overview

In a time when geopolitical tensions, data localization laws, and compliance risks are reshaping the IT landscape, LibreOffice 25.8 (released last week) stands out as a strategic choice. It’s a fully open source, locally run productivity suite designed for organizations that require full control over their software, data, and infrastructure.

This version builds directly on priorities voiced by public administrations and large enterprises worldwide: protecting user data, reducing dependency on foreign vendors, and strengthening digital autonomy.

Why Digital Sovereignty Matters

For governments and enterprises, digital sovereignty is about more than philosophy. It’s about:

  • National security: Reducing exposure to extraterritorial surveillance and software backdoors.
  • Regulatory compliance: Meeting legal requirements like GDPR, national procurement laws, and IT localization mandates.
  • Vendor independence: Avoiding forced migrations, aggressive licensing models, or unpredictable pricing from proprietary vendors.
  • Strategic resilience: Keeping mission-critical systems operational without reliance on the cloud.

LibreOffice 25.8 is purpose-built for these goals.

Key Benefits in LibreOffice 25.8 for Institutions

Privacy-First Architecture

  • Zero telemetry: No background data collection. LibreOffice is entirely transparent and silent by design.
  • Full offline capability: Every feature works without internet access, ideal for secure, air-gapped, or mission-critical environments.
  • OpenPGP encryption: Documents can be encrypted with user-managed keys, ensuring compliance with internal security policies.

Open Standards & Interoperability

  • Native support for the Open Document Format (ODF), an ISO standard that guarantees long-term access and eliminates proprietary lock-in.
  • Improved compatibility with Microsoft Office/365 formats (.docx, .xlsx, .pptx), enabling smooth transitions and document exchange.

Flexible Deployment & Integration

  • Available for Windows, Linux, and macOS: supports heterogeneous IT environments.
  • Seamless integration with Nextcloud, ownCloud, and self-hosted collaboration platforms.
  • Scalable from a single secure workstation to full enterprise deployments with centralized configuration and policy enforcement.

Strategic Advantages for Public and Enterprise IT

  • Cost Control: No license fees. LibreOffice can cut IT spending while aligning with public procurement regulations that mandate open standards and fair competition.
  • Auditability: Fully open source. Every line of code is visible and verifiable, supporting audit requirements and reducing supply chain risks.
  • Local Empowerment: Encourages national and regional IT ecosystems by enabling local support contracts, customization, and professional services, stimulating the domestic tech sector.

Real-World Adoption

Governments and large institutions across Europe, Latin America, and Asia have adopted LibreOffice as part of digital sovereignty initiatives. Government bodies in Germany, Denmark and France, and national ministries in Italy and Brazil, have turned to LibreOffice to reclaim control over their digital infrastructure.

LibreOffice is backed by The Document Foundation, a neutral, non-profit steward with a global contributor base, not a private corporation with conflicting interests.

Conclusion

LibreOffice 25.8 is more than a productivity tool. It’s a vehicle for strategic IT independence. With no data collection, no vendor lock-in, and complete local control, it’s ideally suited for:

  • Ministries and government agencies
  • Defense and infrastructure sectors
  • Enterprises in regulated industries (finance, healthcare, legal)
  • Educational institutions managing sensitive student data

It’s time to own your documents, own your infrastructure, and own your future.

Download LibreOffice 25.8 here

  • ✇The Document Foundation Blog
  • Video: New features in LibreOffice 25.8
    Get a quick overview of some of the new features in LibreOffice 25.8, released on Wednesday. (This video is also available on PeerTube). Please confirm that you want to play a YouTube 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
     

Video: New features in LibreOffice 25.8

22 août 2025 à 08:17

Get a quick overview of some of the new features in LibreOffice 25.8, released on Wednesday. (This video is also available on PeerTube).

Please confirm that you want to play a YouTube 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.

  • ✇The Document Foundation Blog
  • LibreOffice 25.8: smarter, faster and more reliable
    The best open source office suite continues to evolve, while maintaining its focus on privacy and digital sovereignty Berlin, 20 August 2025 – The Document Foundation announces the release of LibreOffice 25.8. This latest version of the market-leading free open source office suite maintains its focus on digital sovereignty and privacy protection. It offers individuals, organisations, and governments total control over their data and the most comprehensive productivity tools. In a global context
     

LibreOffice 25.8: smarter, faster and more reliable

20 août 2025 à 07:09

The best open source office suite continues to evolve, while maintaining its focus on privacy and digital sovereignty

Berlin, 20 August 2025 – The Document Foundation announces the release of LibreOffice 25.8. This latest version of the market-leading free open source office suite maintains its focus on digital sovereignty and privacy protection. It offers individuals, organisations, and governments total control over their data and the most comprehensive productivity tools.

In a global context of growing concern about data privacy, cloud lock-in, and surveillance capitalism, LibreOffice 25.8 provides concrete solutions.

Open Source: The source code is available for inspection and is completely free from proprietary technology constraints.

Privacy and Control: LibreOffice does not collect personal data, usage metrics or diagnostic information, and complies with the data protection regulations required by public administration implementations (GDPR).

Local Execution: all features are executed locally on the user’s computer, without the need for an internet or cloud connection.

Self-Hosted Collaboration: Integration with on-premises cloud solutions, such as Nextcloud, enables teams to collaborate without sharing information with Big Tech.

LibreOffice 25.8: new performance and features

User Interface: the Welcome/What’s New dialog now offers access to the user interface picker and appearance options, allowing new users to leverage LibreOffice’s flexible UI and personalise the look and feel according to their preferences.

Performance: everything is faster, from startup to scrolling through large documents – with significant speed improvements on less powerful machines.

  • In benchmark tests, Writer and Calc open files up to 30% faster.
  • Optimised memory management allows for smoother operation on virtual desktops and thin clients.

Better Interoperability with Microsoft Office files, with more accurate handling of DOCX, XLSX and PPTX files and fewer formatting issues, thanks to changes such as:

  • a complete overhaul of word hyphenation and spacing
  • font management in Impress that is compatible with PowerPoint files
  • the addition of new functions in Calc: CHOOSECOLS, CHOOSEROWS, DROP, EXPAND, HSTACK, TAKE, TEXTAFTER, TEXTBEFORE, TEXTSPLIT, TOCOL, TOROW, VSTACK, WRAPCOLS and WRAPROWS.

There are, of course, other important new features, such as the ability to export to the PDF 2.0 format, and several new ScriptForge library services. The complete list is available here: wiki.documentfoundation.org/ReleaseNotes/25.8.

In terms of operating system support changes, LibreOffice 25.8 will no longer run on Windows 7 or 8/8.1 versions. It is also the last version to run on macOS 10.15. Support for x86 (32-bit) Windows versions is deprecated.

LibreOffice 25.8 for Businesses

The Document Foundation collaborates with a global network of certified partners who offer enterprise-grade support and maintenance, customised features and integrations, and assistance with user migration and training. A full list of partners can be found here: www.libreoffice.org/get-help/professional-support/.

Positioning of LibreOffice 25.8

LibreOffice 25.8 is completely free and offers a viable alternative to proprietary office suites for individual users, schools, businesses, and public institutions. It contains no advertising, data tracking, or subscriptions.

It is ideal for students and teachers who need reliable tools for documents, presentations and data analysis, as well as for home users and freelancers looking for a solid, free alternative to Microsoft Office/365 or Google Docs. It is also ideal for public administrations and companies that value data sovereignty and the long-term accessibility of documents.

LibreOffice 25.8 reaffirms our dedication to safeguarding the freedom and privacy of end users in the digital age. With this new release, we ensure that personal information stays where it belongs – with the individual. LibreOffice gives end users full control over their documents, helping them to avoid reliance on third-party platforms that might compromise their data or privacy. It’s about empowering users to work securely, independently and confidently, said Eliane Domingos, chairwoman of The Document Foundation.

LibreOffice 25.8 is available for Windows, macOS and Linux, with versions for Intel and ARM/Apple processors, at www.libreoffice.org/download/.

About The Document Foundation

The Document Foundation is a non-profit organisation that promotes open document formats and develops LibreOffice, the market-leading free open-source office suite. Its mission is to empower individuals and organisations to maintain control over their data and tools in an increasingly digital world dominated by closed platforms.

Press Kit: nextcloud.documentfoundation.org/s/doGTtfJSkNAtrNi
Video YouTube: www.youtube.com/watch?v=6dIRR37PF7M
Video PeerTube: peertube.opencloud.lu/w/1J49cZ9NvZy1sLmx8dJKDi

  • ✇The Document Foundation Blog
  • AI extension: Stable Diffusion image generator for LibreOffice
    LibreOffice does not include artificial intelligence (AI) out-of-the-box. But many users want AI features in the suite – so we encourage developers to make them available as optional extensions. And that’s what Igor Támara did, creating the “Stable Diffusion for LibreOffice” extension for AI-generated images powered by AI Horde (a volunteer crowd-sourced distributed cluster of image generation workers). We talked to Igor about the extension – here’s what he had to say: What does the extension d
     

AI extension: Stable Diffusion image generator for LibreOffice

17 août 2025 à 04:55

Screenshot of Stable Diffusion extension for LibreOffice

LibreOffice does not include artificial intelligence (AI) out-of-the-box. But many users want AI features in the suite – so we encourage developers to make them available as optional extensions. And that’s what Igor Támara did, creating the “Stable Diffusion for LibreOffice” extension for AI-generated images powered by AI Horde (a volunteer crowd-sourced distributed cluster of image generation workers).

We talked to Igor about the extension – here’s what he had to say:

What does the extension do?

You write some text describing an image, and get an AI image generated from the given text. You can tweak parameters, choose a model and use the best result on written documents, presentations or the place you prefer. The images are generated on volunteer GPUs through AI Horde.

When did you start working on it?

Two weeks ago, starting from a Gimp plugin as a base. I’m brand new to the LibreOffice project, and started it as a macro to get this functionality in the software. One week later I put it on GitHub.

Later on I got help from friendly people on the forum to turn it into an extension. I also joined the the chat and filled some requests in the bug tracker.

What are the current limitations, and what’s coming next?

Be aware that the text you provide is sent to AI Horde and seen by the machines that create the image, so do not send sensitive data. Also, you can get better results if you send the description of the desired image in English. You are encouraged to try different languages to see the results.

You need internet connection to use it. If you wanted to create images locally on your machine, it would take time to configure your environment with local AI models, with gigabytes of memory dedicated to this purpose, and maybe processing for hours to get something useful.

Sometimes the text can be marked as NSFW (“not safe for work”) – in which case you end up with black and white text saying so.

For now, the extension works in Writer and Impress; when invoked from other LibreOffice components, it opens a new text document and inserts the image along with the provided text.

The roadmap includes:

  • Translating the plugin to other languages
  • An option to pre-translate the text to English
  • Better integration with LibreOffice Calc and Draw
  • Earn kudos, rating the images to have more priority when requesting an image

Screenshot of Stable Diffusion extension for LibreOffice

How can others help to improve it?

Report any problems you find, and help to translate into your language. Please do so by filling an issue with your intention saying which language.

If you have a GPU (and good graphics hardware in general), you can volunteer as a worker joining the horde, to add to the computing power – and you can earn kudos to have higher priority when you need it.

If you work with a friendly company that wants to make use of the existing hardware, you can join the horde too.

One of the purposes of AI Horde is to aid education, having a special program for that.

This plugin and AI Horde are all open source, so everyone can learn and be as transparent as possible in this changing and revolutionary world of AI times.

There might be concerns about the use of products and the ownership of work. As I see it, we are always learning by example and reusing what others have invented from thousands of years ago, like how to walk, make fire, communicate, explore, recreate and mix. We can continue to learn and make fair use of resources – and contribute too.

Click here to get the extension

  • ✇The Document Foundation Blog
  • Guide to migrating from proprietary formats to ODF
    In the digital world, document formats are essential. Proprietary formats such as Microsoft Word’s DOCX or Excel’s XLSX dominate the workplace, but at the same time they lock users into a specific vendor and its business strategies, which tend to exploit users to the maximum in every way. The Open Document Format (ODF) offers an open, standard alternative that protects users and their privacy, promotes interoperability, long-term access and data ownership. Migrating documents from proprietary fo
     

Guide to migrating from proprietary formats to ODF

15 août 2025 à 04:14

In the digital world, document formats are essential. Proprietary formats such as Microsoft Word’s DOCX or Excel’s XLSX dominate the workplace, but at the same time they lock users into a specific vendor and its business strategies, which tend to exploit users to the maximum in every way. The Open Document Format (ODF) offers an open, standard alternative that protects users and their privacy, promotes interoperability, long-term access and data ownership.

Migrating documents from proprietary formats to ODF is the solution, and although vendors who rely on proprietary formats – not only Microsoft, but also its freeware clones such as OnlyOffice or WPS Office – do everything they can to prevent it, it is very easy and represents a fundamental step forward for users in terms of privacy and digital sovereignty (i.e., ownership of their own content).

This guide breaks down the migration process to make the transition smooth, efficient and sustainable, both at the individual level (where problems are virtually non-existent) and at the enterprise level, where problems exist due to the lock-in strategies of proprietary formats.

Step 1: Understand ODF and its advantages

  • No dependence on a single vendor: freedom to use any compatible software
  • Better long-term accessibility, robustness and stability of storage
  • Transparency and security, thanks to full compliance with open specifications
  • Better interoperability between platforms and tools

Step 2: Document inventory to define conversion priorities and estimate the effort required for migration

  • Identification of file types (DOCX, XLSX, PPTX) and their number
  • Analysis of documents to distinguish between active (used periodically) documents, those that can be archived and obsolete documents
  • Analysis of documents with complex formatting or embedded multimedia content

Step 3: plan the migration workflow

  • Convert documents in bulk or gradually as needed?
  • Pilot phase with a small group of users to identify any issues with the documents before the mass conversion
  • User training on the migration and creation of a support service for conversions and backup management

Step 4: Converting documents to ODF format

  • Use the LibreOffice export function (‘Save As’)
  • Use batch conversion tools for large volumes (LibreOffice command line scripts)
  • Validate converted files to ensure formatting and data integrity
  • Back up original files until migration is successfully completed

Step 5: Monitoring the migration

  • Updating internal policies to make ODF the default format for document creation and sharing, and to prevent a return to proprietary formats
  • Monitoring user feedback and trends in document creation, and resolving issues in a timely manner
  • Integrating ODF support into enterprise software platforms, and using automatic conversions where possible

Conclusion

Migrating from proprietary formats to ODF is a strategic move, both individually and for businesses, towards openness, content control and document protection for the future. In a business environment, it requires careful planning and user involvement, but the benefits in terms of flexibility, interoperability and cost savings are well worth the effort.

❌