Библиотека для работы с RTF файлами.
Возможности:
1) Запись в RTF линий (только горизонтальные и вертикальные)
2) Запись в RTF закрашенных прямоугольников
3) Запись в RTF текста
4) Запись в RTF картинок (BMP, JPEG, GIF, EMF, PCT)
5) Открытие уже существующего RTF и дозапись в него.
Библиотека делелась на Delphi для генераторов отчетов. После моего предложения Martin Haluza от разработки данной компоненты отказался хотя в состав его отчетов после этого разговора входит возможность переноса отчета в RTF (www.eques.com - XFRX).
Библиотека тестировалалсь мало... Но если кому пригодится то я буду рад.
Вот пример использования:
DECLARE short WritePage IN rtf_lib
DECLARE short WriteImage IN rtf_lib integer, integer, integer, integer, string
DECLARE short WriteRect IN rtf_lib integer, integer, integer, integer, integer, integer, integer
DECLARE short WriteVertLine IN rtf_lib integer, integer, integer, integer, integer
DECLARE short WriteHorizLine IN rtf_lib integer, integer, integer, integer, integer
DECLARE short WriteText IN rtf_lib short, short, short, short, integer, integer, integer, integer, integer, integer, integer, string, string
DECLARE short WriteImage IN rtf_lib integer, integer, integer, integer, string, short
DECLARE short Create IN rtf_lib AS _Create string, short, short, short, short
DECLARE short Open IN rtf_lib AS _Open string, short, short, short, short, short
DECLARE short GetColorID IN rtf_lib short, short, short
DECLARE Integer getrgbcolorid IN rtf_lib short, short, short
DECLARE short Save IN rtf_lib AS _Save
=_Create('1.rtf',0,0,0,0)
=writetext(1,1,1,2,8,GetColorID(255,0,0),GetrgbColorID(0,255,0),2000,2000,1000,1000,'Arial','Тестовая строка')
=writehorizline(7000,7000,4000,getrgbcolorid(0,255,255),100000)
=WritePage()
=writevertline(7000,7000,4000,getrgbcolorid(255,0,255),200000)
=writerect(1000,1000,1000,1000,getrgbcolorid(0,255,0),getrgbcolorid(0,0,255),300000)
=writeimage(2000,2000,1000,1000,'1.jpg',1)
=writeimage(3000,2000,1000,1000,'1.gif',2)
=writeimage(4000,2000,1000,1000,'1.bmp',3)
=writepage()
=writeimage(1000,1000,10000,1000,'1.emf',4)
=writetext(1,1,1,2,8,GetColorID(255,0,0),GetrgbColorID(0,255,0),2000,2000,1000,1000,'Arial','EMF')
=writepage()
=writeimage(1000,1000,10000,1000,'1.pct',0)
=writetext(1,1,1,2,8,GetColorID(255,0,0),GetrgbColorID(0,255,0),2000,2000,1000,1000,'Arial','PCT')
=_Save()
Действия библиотеки основаны на формировании динамического списка при вызове одной из функций =writeXXXX и переброски из списка в файл при вызове _Save().
Вложенные файлы
# |
Название |
Тип файла |
Размер |
---|---|---|---|
1 | 374rtf_lib | .zip | 16,22 КБ |