Criando um arquivo Open Document Text (ODT) em Delphi / C ++ Builder / Lazarus

2020-08-06

Creating an Open Document Text (ODT) file from Delphi

A extensão do arquivo ODT é usada para arquivos de texto Open Document, que geralmente são criados usando os aplicativos de processador de texto OpenOffice ou LibreOffice. Este formato de documento é baseado na linguagem de marcação XML e, portanto, fácil de converter.
Para entender que tipo de formato é, basta ver o Formato OpenDocument de padrão aberto (criado pela comunidade OASIS), diretamente associado ao ODT. Como o ODF pode armazenar e trocar documentos de escritório, ele também inclui a extensão de arquivo Open Document Text, que contém vários relatórios, notas, livros e assim por diante. Nós falamos mais sobre o formato ODF neste artigo.

Os arquivos ODT se tornaram especialmente populares não muito tempo atrás, em 2014, quando os aplicativos da web do Google Docs, junto com Planilhas e Apresentações, começaram a suportar o padrão ODF, então os usuários tiveram a oportunidade de salvar documentos de texto no formato .odt e esta extensão de arquivo começou a se tornar cada vez mais popular. Esses arquivos são fáceis de abrir e, graças à linguagem de marcação XML, você pode convertê-los facilmente para outros formatos usando os utilitários apropriados.

Para abrir corretamente um arquivo com a extensão ODT, você precisa usar os pacotes de escritório, como LibreOffice, StarOffice, OpenOffice - eles permitem que você converta e edite livremente arquivos neste formato. Se o usuário tentar abrir um arquivo ODT usando o aplicativo Microsoft Office, ele precisará instalar o ODF Sun Plugin para MS Office. Muitos proprietários de PC abrem arquivos ODT usando o Corel WordPerfect Office, também há o NeoOffice e o Lotus Symphony. Na minha opinião, a escolha é ampla!

Salvando em formato ODT à partir do Delphi usando FastReport

Por que FastReport? Porque está desenhado para gerar documentos! Em primeiro lugar, já devemos ter um projeto compilado com FastReport implementado com o componente Export to Open Documents Text, bem como o relatório gerado (há um artigo separado sobre a criação de relatórios). Execute o aplicativo e chame a exportação da janela de visualização (no final deste artigo há uma maneira de salvar o arquivo .ODT diretamente do código), uma janela de configurações aparecerá:

Configuração do ODTConfiguração do ODT

As ferramentas do FastReport permitem que você escolha quais páginas de nosso documento exportar, certas páginas ou um intervalo.

Configurações de exportação - definir uma melhor correspondência visual com a versão original (WYSIWYG), usar quebras de página, exportar como um documento contínuo que pula cabeçalhos e rodapés ou exportar um plano de fundo - objetos gráficos usados como plano de fundo do relatório página.

Como de costume, você pode especificar onde salvar seu arquivo (no armazenamento local, enviar como e-mail, fazer upload para FTP ou armazenamento em nuvem).

Abrir após a exportação - o arquivo resultante será aberto imediatamente após a exportação por qualquer software associado aos arquivos ODT.

Código para salvar em Open Document Text format diretamente do Delphi / Lazarus

Gravação em ODT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
procedure TForm1.Button2Click(Sender: TObject);
begin
 {Generate a report. The report must be generated before exporting}
 frxReport1.PrepareReport();
 {Set the range of pages to export. By default, all pages of the generated report are exported}
 frxODTExport1.PageNumbers := '2-3';
 {Set whether to generate a continuous document}
 frxODTExport1.SingleSheet := False;
 {Set whether to export the page breaks so that when printing the pages correspond to the pages of the generated report}
 frxODTExport1.ExportPageBreaks := True;
 {Set WYSIWYG}
 frxODTExport1.Wysiwyg := True;
 {Set whether to export the background}
 frxODTExport1.Background := True;
 {Set whether to open the resulting file after export}
 frxODTExport1.OpenAfterExport := False;
 {Set whether to display export progress (show which page is currently being exported)}
 frxODTExport1.ShowProgress := False;
 {Set whether to display the export filter dialog box}
 frxODTExport1.ShowDialog := False;
 {Set the name of the resulting file.}
 {Please note that if you do not set the file name and disable the export filter dialog box,}
 {the file name selection dialog will still be displayed}
 frxODTExport1.FileName := 'C:\Output\test.odt';
 {Export the report}
 frxReport1.Export(frxODTExport1);
end;

Comparação de XML do Microsoft Word 2007 e texto de documento aberto

Comparação do Microsoft Word 2007 XMLSo que é melhor usar? Vamos aprender sobre a base deles. Ambos são baseados na linguagem de marcação XML. XML é uma tecnologia projetada para gerenciar dados estruturados e exibir esses dados como um arquivo de texto legível por humanos. XML está em conformidade com os padrões da indústria e pode ser processado por muitos bancos de dados e aplicativos. Usando XML, muitos desenvolvedores podem criar suas próprias tags, estruturas de dados e esquemas customizados. Em geral, XML facilita muito a definição, transferência, validação e interpretação de dados em vários bancos de dados, aplicativos e organizações. Isso significa que ambos os arquivos são arquivos zip renomeados como .docs / .odt.

Vamos falar sobre os recursos e funcionalidades. Anexar seus comentários a partes específicas de um documento torna seu feedback mais claro; existe uma função “Notas” para isso. Quando você salva o documento no formato .odt e o abre novamente no Word 2007, os comentários sobre um grupo de palavras se tornam um único ponto. O ponto único geralmente é indicado no final do grupo de palavras. Tabelas não são suportadas em comentários. O conteúdo da tabela é mantido no comentário, mas a estrutura é perdida. e abrir o texto do documento.

Por falar em proteção de documentos e dados, devemos lembrar das funções “Proteção de Documentos” e “Gerenciamento de direitos de informação (IRM)”. Quando você salva um documento do Word 2007 no formato ODT, essa função é excluída; você não pode abrir esses arquivos.

Embora a função de correção favorita de todos, que salvou muitos de nós, não funcione no ODT, ou melhor, todas as alterações são aceitas e suas informações podem ser prejudicadas. As referências e cabeçalhos são convertidos em texto simples e as notas de rodapé simplesmente desaparecem.
Os quadros são parcialmente suportados. Ao salvar um documento do Word 2007 em formato ODT, os quadros são convertidos em campos de texto; ligações a algumas áreas de campo não são suportadas. Se houver conteúdo não compatível, o quadro será excluído, mas não o conteúdo em si. Isso inclui tabelas, formas automáticas, campos de texto, quadros e gráficos SmartArt.

Quando você salva o documento do Word 2007 no formato .odt, quebras de seção contínua podem perder algumas propriedades, como margens superior / inferior, cabeçalhos / rodapés, bordas e numeração de linha.

As tabelas são parcialmente suportadas. O formato ODT não oferece suporte a tabelas com mais de 64 colunas e a formatação do tema é convertida para a formatação de nível de célula. As caixas de texto não podem ser aninhadas e a orientação do texto em uma célula da tabela não é suportada.

Falando em elementos gráficos, algo funciona em qualquer formato, mas algo não é compatível de forma alguma. O Word não oferece suporte a grupos de objetos, portanto, quando você abre um arquivo OpenDocument, os objetos são desagrupados. Isso se aplica a todos os objetos agrupados com um diagrama, bem como aos desenhos agrupados com uma figura, legenda ou objeto OLE. A visibilidade dos objetos pode mudar. Objetos invisíveis tornam-se visíveis após salvar o arquivo em .odt e abrir novamente no Word.

Posso continuar e continuar, mas apenas destaquei as funções mais interessantes. Você pode encontrar aqui uma tabela de comparação detalhada

Relatório Fish


Não há muita diferença no tamanho do arquivo. Um documento do Word é um pouco maior por causa do suporte à criptografia; e o arquivo ODT não é compatível. Usamos esses peixes como exemplo; este documento contém muito texto, dados tabulares e 30 fotografias. Veja as capturas de tela para maior clareza:

DOCX e ODT

Vamos resumir as coisas. Ambos os formatos são modernos, abertos (o que é importante), suportados por muitos editores de texto. A vantagem do ODT é o código aberto e o suporte da comunidade OASIS, enquanto o DOCX é suportado apenas pela Microsoft, que agora se voltou para iniciativas de código aberto. A escolha depende de você e de seu cliente - de qualquer forma, você pode contar com a criação de documentos de alta qualidade que atendam aos padrões do FastReport.

VCL VCL Export Export Lazarus Lazarus FastReport FastReport Delphi Delphi
26 de abril de 2023

How to use RFID tags in FastReport .NET

The new page object is an RFID tag in FastReport.NET allows users to use the library to create labels or maps without third-party programs
20 de abril de 2023

How to update FastReport Online Designer to the latest version

Step-by-step instructions for updating FastReport Online Designer to the latest version via the client panel.
14 de março de 2023

The Future of Report Generation with Blazor WebAssembly

Step-by-step instructions for creating a demo application on .NET 6 and 7 directly in the browser using Blazor WebAssembly in FastReport .NET.
Fast Reports
  • 800-985-8986 (English, US)
  • +31 97 01025-8466 (English, EU)
  • +49 30 56837-3928 (German, DE)
  • +55 19 98147-8148 (Portuguese, BR)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2025 Fast Reports Inc.