DOCX to plik archiwum, który może być rozpakowany przez inne oprogramowanie. Ten format jest ulepszoną wersją znanego rozszerzenia DOC. Istotną różnicą jest niska waga pliku przy zachowaniu wszystkich oryginalnych parametrów obrazu. Jeśli .doc jest binarnym plikiem tekstowym,.docx zawiera pliki XML i dodatkowe foldery, gdy kompresja pliku zmniejsza jego rozmiar.
Jest to uniwersalny format, który można łatwo odczytać przez prawie każdego klienta poczty e-mail, przechowywać w chmurze i edytować tekst na urządzeniu mobilnym.
Do pracy z docxem można używać następujących programów: WindowsWord, Libre Office, Open Office, Word Pad, AiReader, Ice Book Reader, Caliber, Universal Viewer, Text Maker, Ability Write. Jest to tylko mała lista ogromnej liczby programów, które mogą otwierać pliki w formacie DOCX.
Więcej szczegółów na temat XML opisałem w artykule “Jak wyeksportować raport do Excel XML z Delphi / Lazarus ”. Ale jak utworzyć plik w formacie DOCX z Delphi lub Lazarus? Użyj do tego FastReport!
Zapisywanie w formacie .docx z Delphi bez pisania jednego wiersza kodu!
Przede wszystkim dodaj składniki TfrxReport i TfrxDOCXExport (eksport do programu Microsoft Word 2007 XML) w formularzu.
Następnie utwórz szablon raportu w projektancie, wygeneruj raport, kliknij „Zapisz” w oknie podglądu i odwołaj się do eksportu z podglądu (poniżej opiszę, jak zapisać w formacie DOCX za pomocą kodu Delphi). Pojawi się okno z ustawieniami eksportu do DOCX.
Chociaż ustawień jest niewiele, warto o nich wspomnieć. Przede wszystkim możemy wybrać, które strony naszego dokumentu mają być eksportowane do programu Word – niektóre strony lub zakres.
Jak zwykle możesz określić, gdzie zapisać plik DOCX (w rejestrze lokalnym, wysłać pocztą e-mail, przesłać do FTP lub chmury).
Otwórz po wyeksportowaniu: plik zostanie otwarty natychmiast po wyeksportowaniu przez oprogramowanie skojarzone z tymi plikami.
Jak zapisać w formacie DOCX bezpośrednio z Delphi / Lazarus za pomocą kodu
Zapisywanie w formacie XML programu Microsoft Word 2007 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
procedure TForm1.Button1Click(Sender: TObject); begin {Generowanie raportu. Raport musi zostać wygenerowany przed wyeksportem} frxReport1.PrepareReport(); {Ustaw zakres stron do wyeksportowania. Domyślnie eksportowane są wszystkie strony wygenerowanego raportu} frxDOCXExport1.PageNumbers := '2-3'; {Ustaw, czy plik wynikowy ma być otwarty po wyeksportowaniu} frxDOCXExport1.OpenAfterExport := False; {Ustawianie, czy ma być wyświetlany postęp eksportu (pokaż, która strona jest obecnie eksportowana)} frxDOCXExport1.ShowProgress := False; {Ustawianie, czy ma być wyświetlane okno dialogowe ustawień filtru eksportu} frxDOCXExport1.ShowDialog := False; {Ustaw nazwę wynikowego pliku.} {Należy pamiętać, że jeśli nazwa pliku nie zostanie ustawiona i wyłączysz okno dialogowe filtru eksportu,} {Okno dialogowe wyboru nazwy pliku będzie nadal wyświetlane} frxDOCXExport1.FileName := 'C:\Output\test.docx'; {Eksportowanie raportu} frxReport1.Export(frxDOCXExport1); end; |
Nic skomplikowanego, jak zwykle.