Częstym pytaniem jest, jak wysłać dokument z aplikacji Delphi do RTF. Jest to popularny format, a jeśli nie masz zainstalowanego programu Microsoft Word na komputerze, możesz użyć wordpada, aby otworzyć plik. Ten format jest obsługiwany przez domyślny edytor Mac OS X TextEdit. Większość edytorów tekstu obsługuje RTF w takiej czy innej formie.
Rich Text Format (RTF) to zaawansowany format tekstu opracowany przez Microsoft w 1982 roku. RTF jest często używany do tworzenia e-książek, rzadziej – dokumentów. Początkowo celem tego formatu było stworzenie pliku wygodnego do pracy z książkami i dokumentami.
Dokonano tego za pomocą wbudowanych metatagów, które umożliwiają szybkie poruszanie się po dokumencie. Ten format jest dość dostępny. Co więcej, system Windows zwykle zawiera bibliotekę DLL do renderowania i wyświetlania RTF.
Trzy typowe sposoby zapisywania w formacie RTF z Delphi i Lazarus
Istnieje tak wiele narzędzi do zapisywania tekstu w RTF z aplikacji Delphi.
1. Plik RTF można wygenerować samodzielnie. To jest znakomity przykład prostego tekstu RTF w Wikipedii:
Zapisywanie do RTF przykład z Wikipedii | |
1 2 3 |
{\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard This is some {\b bold} text.\par } |
Zgodzisz się, że jest to proste, łatwe do zrozumienia i odtworzenia!
2. Do bardziej skomplikowanych zadań dostępne są specjalne konwertery RTF – na przykład edytor opracowany przez naszego kolegę z branży – TRichView.
3. Cóż, jednak z naszego punktu widzenia wykorzystanie FastReport jest najlepszym sposobem! W końcu potrzebujesz nie tylko tworzyć "jakiekolwiek" plik RTF - zwykle potrzebujesz go z danymi, różnymi obiektami - i tutaj wiele narzędzi FastReport pomogą nam stworzyć nie tylko sformatowany tekst i tabele, ale wstawić ilustracje, kody kreskowe, wykresy, wskaźniki, prymitywy graficzne itp.
Tworzenie RTF w Delphi bez pisania jednego wiersza kodu!
Skompiluj więc projekt i zaimplementuj FastReport z komponentem "export to RTF".
Wygeneruj raport, uruchom go i kliknij "Zapisz" w oknie podglądu. Następnie wywołaj eksport z podglądu (poniżej opisane jak zapisać plik w formacie RTF za pomocą kodu Delphi). Pojawi się okno z ustawieniami eksportu do RTF.
Możemy wybrać, które strony naszego dokumentu mają być wysyłane do programu Excel, niektóre strony lub zakres.
Ustawienia eksportu — czy wstawić zdjęcia do RTF, ustawić lepszą wizualną korespondencję z oryginalną wersją (WYSIWYG) i użyć podziałów stron. Nagłówki kolumn można również powtarzać na każdej stronie.
RFT to forma tekstowy strona po stronie i oczywiście, obsługuje nagłówki i stopki.
Można skonfigurować eksport nagłówka i stopki strony w docelowym dokumencie (czy wyeksportować je jako nagłówki i stopki, tekst lub wykluczyć je z pliku).
Otwórz po wyeksportowaniu – plik docelowy zostanie otwarty natychmiast po wyeksportowaniu przez oprogramowanie związane z plikami RTF.
Jak zwykle można określić, gdzie zapisać plik RTF (w rejestrze lokalnym, wysłać jako e-mail, przekazać do FTP lub dysku w chmurze).
And, as promised, here is the code for saving in RTF format directly from Delphi / Lazarus
Zapisywanie w RTF | |
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 28 29 30 31 32 |
procedura TForm1. Button1Click(Nadawca: TObject); zaczynać {Generowanie raportu. Raport musi zostać wygenerowany przed wyeksportem} frxReport1. Przygotowanieraport(); {Ustaw zakres stron do wyeksportowania. Domyślnie eksportowane są wszystkie strony wygenerowanego raportu} frxRTFExport1. Liczba stron := '2-3'; {Ustaw, czy mają być eksportowane obrazy} frxRTFExport1. ExportPictures := Prawda; {Ustaw, czy chcesz wyeksportować podziały stron, tak aby podczas drukowania strony odpowiadały stronom wygenerowanego raportu} frxRTFExport1. ExportPageBreaks := Prawda; {Ustaw, czy dokument ciągły ma być pomijany w nagłówkach i stopkach.} frxRTFExport1. SuppressPageHeadersFooters := Prawda; {Zestaw WYSIWYG} frxRTFExport1. Wysiwyg := Prawda; {Ustawianie trybu eksportu nagłówków i stopek stron hfText – jako tekst; hfPrint – jako nagłówki i stopki. SuppressPageHeadersFooters jest automatycznie ustawiany na True; hfNone - skip} frxRTFExport1. HeaderFooterMode := hfText; {Ustaw, czy plik wynikowy ma być otwarty po wyeksportowaniu} frxRTFExport1. OpenAfterExport := Fałsz; {Ustaw, czy chcesz wyświetlić postęp eksportu (pokaż, która strona jest obecnie eksportowana)} frxRTFExport1. ShowProgress := Fałsz; {Ustawianie, czy ma być wyświetlane okno dialogowe filtru eksportu} frxRTFExport1. ShowDialog := Fałsz; {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} frxRTFExport1. Nazwa pliku := 'C:\Output\test.rtf'; {Eksportowanie raportu} frxReport1. Eksport(frxRTFExport1); koniec; |
Chciałbym zauważyć, że ta metoda umożliwia tworzenie pełnoprawnego dokumentu RTF, który początkowo mógłby składać się z różnych elementów, w tym (ale nietylko) RTF się. W rezultacie otrzymasz pełnoprawny dokument RTF starannie i pięknie sformatowany zgodnie ze standardami z możliwością kopiowania i wklejania sformatowanych fragmentów tekstu do innych dokumentów. Nawiasem mówiąc, czy wiesz, że RTF został przyjęty jako wewnętrzny standard dokumentacji technicznej w niektórych firmach projektowych i inżynieryjnych? Dowiedzieliśmy się tego od naszych klientów.