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 Export Lazarus FastReport Delphi
10 de julho de 2025

Komu Monta y Konekta o Plugin Firebird na FastReport .NET

Neste artigo, vamos passar pelo processo de construção e conexão do plugin Firebird no FastReport .NET através do designer de relatórios e via código.
30 de maio de 2025

Abrimos arquivos com a extensão FP3 usando o FastReport Viewer

O FastReport Viewer é a solução ideal para trabalhar com arquivos FP3, é permite abrir, visualizar, imprimir e exportar relatórios com facilidade.
22 de abril de 2025

Working with XML and JSON Formats in FastScript

In this article, we will take a closer look at how to work with JSON and XML in FastReport, see what properties and methods they have, and build reports from code with scripts.

© 1998-2025 Fast Reports Inc.