diff --git a/components/rx/trunk/Demos/RxDBGrid/RxDBGridDemo.lpi b/components/rx/trunk/Demos/RxDBGrid/RxDBGridDemo.lpi index 54bc1b3a6..5334562ba 100644 --- a/components/rx/trunk/Demos/RxDBGrid/RxDBGridDemo.lpi +++ b/components/rx/trunk/Demos/RxDBGrid/RxDBGridDemo.lpi @@ -55,13 +55,13 @@ - + - + @@ -70,9 +70,8 @@ - - - + + @@ -181,9 +180,11 @@ - - - + + + + + @@ -895,11 +896,10 @@ - + - @@ -907,19 +907,16 @@ - + - - - + - @@ -927,12 +924,10 @@ - + - - @@ -943,134 +938,90 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - + + + + + + + + + + + + + + + + + + + + + @@ -1113,7 +1064,7 @@ - + @@ -1123,6 +1074,9 @@ + + + diff --git a/components/rx/trunk/Demos/RxDBGrid/rxdbgridmainunit.lfm b/components/rx/trunk/Demos/RxDBGrid/rxdbgridmainunit.lfm index 16fdcc7e0..c04dc69d3 100644 --- a/components/rx/trunk/Demos/RxDBGrid/rxdbgridmainunit.lfm +++ b/components/rx/trunk/Demos/RxDBGrid/rxdbgridmainunit.lfm @@ -14,8 +14,8 @@ object RxDBGridMainForm: TRxDBGridMainForm LCLVersion = '1.7' object RxDBGrid1: TRxDBGrid Left = 0 - Height = 634 - Top = 70 + Height = 627 + Top = 77 Width = 1151 ColumnDefValues.BlobText = '(примечание)' TitleButtons = True @@ -428,19 +428,19 @@ object RxDBGridMainForm: TRxDBGridMainForm end object Panel1: TPanel Left = 0 - Height = 70 + Height = 77 Top = 0 Width = 1151 Align = alTop AutoSize = True - ClientHeight = 70 + ClientHeight = 77 ClientWidth = 1151 TabOrder = 1 object Label1: TLabel AnchorSideLeft.Control = Button2 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel1 - Left = 270 + Left = 274 Height = 20 Top = 7 Width = 36 @@ -452,9 +452,9 @@ object RxDBGridMainForm: TRxDBGridMainForm AnchorSideLeft.Control = Panel1 AnchorSideTop.Control = Panel1 Left = 7 - Height = 32 + Height = 36 Top = 7 - Width = 87 + Width = 89 Action = actCalcTotal AutoSize = True BorderSpacing.Around = 6 @@ -464,10 +464,10 @@ object RxDBGridMainForm: TRxDBGridMainForm AnchorSideLeft.Control = Button1 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel1 - Left = 100 - Height = 32 + Left = 102 + Height = 36 Top = 7 - Width = 164 + Width = 166 Action = actOptimizeColumnsWidthAll AutoSize = True BorderSpacing.Around = 6 @@ -478,11 +478,11 @@ object RxDBGridMainForm: TRxDBGridMainForm AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = CheckBox2 AnchorSideTop.Side = asrBottom - Left = 499 + Left = 503 Height = 24 Hint = 'Use filter line' Top = 37 - Width = 84 + Width = 85 BorderSpacing.Left = 6 Caption = 'Use filter' OnChange = CheckBox1Change @@ -492,8 +492,8 @@ object RxDBGridMainForm: TRxDBGridMainForm AnchorSideLeft.Control = Label1 AnchorSideTop.Control = Label1 AnchorSideTop.Side = asrBottom - Left = 276 - Height = 30 + Left = 280 + Height = 32 Top = 33 Width = 217 BorderSpacing.Around = 6 @@ -512,11 +512,11 @@ object RxDBGridMainForm: TRxDBGridMainForm AnchorSideLeft.Control = ComboBox1 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel1 - Left = 499 + Left = 503 Height = 24 Hint = 'Auto fill column width' Top = 7 - Width = 133 + Width = 134 BorderSpacing.Around = 6 Caption = 'Auto fill columns' OnChange = CheckBox2Change @@ -526,10 +526,10 @@ object RxDBGridMainForm: TRxDBGridMainForm AnchorSideLeft.Control = CheckBox2 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel1 - Left = 638 + Left = 643 Height = 24 Top = 7 - Width = 120 + Width = 121 BorderSpacing.Around = 6 Caption = 'Show indicator' Checked = True @@ -542,10 +542,10 @@ object RxDBGridMainForm: TRxDBGridMainForm AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = CheckBox3 AnchorSideTop.Side = asrBottom - Left = 638 + Left = 643 Height = 24 Top = 37 - Width = 116 + Width = 118 BorderSpacing.Around = 6 Caption = 'Show headers' Checked = True @@ -557,10 +557,10 @@ object RxDBGridMainForm: TRxDBGridMainForm AnchorSideLeft.Control = CheckBox3 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel1 - Left = 764 + Left = 770 Height = 24 Top = 7 - Width = 95 + Width = 97 BorderSpacing.Around = 6 Caption = 'Word wrap' OnChange = CheckBox5Change @@ -570,7 +570,7 @@ object RxDBGridMainForm: TRxDBGridMainForm AnchorSideLeft.Control = CheckBox5 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel1 - Left = 865 + Left = 873 Height = 20 Top = 7 Width = 32 @@ -582,8 +582,8 @@ object RxDBGridMainForm: TRxDBGridMainForm AnchorSideLeft.Control = Label2 AnchorSideTop.Control = Label2 AnchorSideTop.Side = asrBottom - Left = 871 - Height = 30 + Left = 879 + Height = 37 Top = 33 Width = 129 BorderSpacing.Around = 6 @@ -1496,7 +1496,7 @@ object RxDBGridMainForm: TRxDBGridMainForm end object RxDBGridExportSpreadSheet1: TRxDBGridExportSpreadSheet RxDBGrid = RxDBGrid1 - Caption = 'Export data' + Caption = 'Export data to spreadsheet' ShowSetupForm = True FileName = 'RxDBGridDemo.ods' PageName = 'RxDBGrid demo' @@ -1521,4 +1521,18 @@ object RxDBGridMainForm: TRxDBGridMainForm left = 591 top = 270 end + object RxDBGridExportPDF1: TRxDBGridExportPDF + RxDBGrid = RxDBGrid1 + Caption = 'Export to PDF file' + ShowSetupForm = True + FileName = 'RxDBGridDemo.pdf' + Options = [repExportTitle, repExportColors, repExportFooter, repOverwriteExisting, repExportImages] + PdfOptions.PaperOrientation = ppoLandscape + PdfOptions.Options = [] + OpenAfterExport = True + AuthorPdf = 'Lagunov A.A.' + ProducerPdf = 'RxDBGrid demo program' + left = 640 + top = 270 + end end diff --git a/components/rx/trunk/Demos/RxDBGrid/rxdbgridmainunit.pas b/components/rx/trunk/Demos/RxDBGrid/rxdbgridmainunit.pas index 5f85ac527..b8d445b9d 100644 --- a/components/rx/trunk/Demos/RxDBGrid/rxdbgridmainunit.pas +++ b/components/rx/trunk/Demos/RxDBGrid/rxdbgridmainunit.pas @@ -7,7 +7,7 @@ interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, rxmemds, DB, rxdbgrid, RxAboutDialog, RxIniPropStorage, RxDBGridPrintGrid, - RxDBGridExportSpreadSheet, RxDBGridFooterTools, tooledit, + RxDBGridExportSpreadSheet, RxDBGridFooterTools, tooledit, RxDBGridExportPdf, ExtCtrls, Buttons, Menus, ActnList, StdCtrls, DBGrids; type @@ -24,6 +24,7 @@ type MenuItem9: TMenuItem; RxAboutDialog1: TRxAboutDialog; RxDateEdit1: TRxDateEdit; + RxDBGridExportPDF1: TRxDBGridExportPDF; RxDBGridExportSpreadSheet1: TRxDBGridExportSpreadSheet; RxDBGridFooterTools1: TRxDBGridFooterTools; RxDBGridPrint1: TRxDBGridPrint; diff --git a/components/rx/trunk/Demos/RxDbGridExportToPDF/project1.lpi b/components/rx/trunk/Demos/RxDbGridExportToPDF/project1.lpi index 0533e3dcd..c2d268321 100644 --- a/components/rx/trunk/Demos/RxDbGridExportToPDF/project1.lpi +++ b/components/rx/trunk/Demos/RxDbGridExportToPDF/project1.lpi @@ -24,25 +24,16 @@ - + - + - + - - - - - - - - - - + diff --git a/components/rx/trunk/Demos/RxDbGridExportToPDF/project1.lps b/components/rx/trunk/Demos/RxDbGridExportToPDF/project1.lps index 29d2d9b82..da86306a0 100644 --- a/components/rx/trunk/Demos/RxDbGridExportToPDF/project1.lps +++ b/components/rx/trunk/Demos/RxDbGridExportToPDF/project1.lps @@ -18,7 +18,8 @@ - + + @@ -27,18 +28,16 @@ - - + + - - - - + + + - @@ -87,18 +86,17 @@ - - - + + + - + - @@ -275,9 +273,9 @@ - - - + + + @@ -458,12 +456,10 @@ - - + + - - @@ -486,9 +482,8 @@ - + - @@ -623,11 +618,10 @@ - + - @@ -677,127 +671,39 @@ - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/components/rx/trunk/Demos/RxDbGridExportToPDF/unit1.lfm b/components/rx/trunk/Demos/RxDbGridExportToPDF/unit1.lfm index 3e0c0e11c..255180a89 100644 --- a/components/rx/trunk/Demos/RxDbGridExportToPDF/unit1.lfm +++ b/components/rx/trunk/Demos/RxDbGridExportToPDF/unit1.lfm @@ -532,24 +532,4 @@ object Form1: TForm1 0000000000000000000000000000 } end - object frReport1: TfrReport - InitialZoom = pzDefault - Options = [] - PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbHelp, pbExit] - DataType = dtDataSet - left = 304 - top = 88 - end - object RxDBGridExportSpreadSheet1: TRxDBGridExportSpreadSheet - Caption = 'Экспорт в электронную таблицу' - Options = [] - left = 304 - top = 154 - end - object RxDBGridPrint1: TRxDBGridPrint - Caption = 'Печать списка' - Options = [rxpoShowTitle, rxpoShowFooter, rxpoShowGridColor, rxpoShowFooterColor, rxpoShowReportTitle] - left = 346 - top = 154 - end end diff --git a/components/rx/trunk/Demos/RxDbGridExportToPDF/unit1.pas b/components/rx/trunk/Demos/RxDbGridExportToPDF/unit1.pas index dc4a31e0f..fb561064c 100644 --- a/components/rx/trunk/Demos/RxDbGridExportToPDF/unit1.pas +++ b/components/rx/trunk/Demos/RxDbGridExportToPDF/unit1.pas @@ -6,7 +6,7 @@ interface uses Classes, SysUtils, FileUtil, rxmemds, rxdbgrid, RxDBGridExportPdf, - RxDBGridExportSpreadSheet, RxDBGridPrintGrid, LR_Class, Forms, Controls, + Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls, ComCtrls, Spin, db; type @@ -16,15 +16,12 @@ type TForm1 = class(TForm) Button1: TButton; DataSource1: TDataSource; - frReport1: TfrReport; ImageList1: TImageList; Memo1: TMemo; PageControl1: TPageControl; Panel1: TPanel; RxDBGrid1: TRxDBGrid; RxDBGridExportPDF1: TRxDBGridExportPDF; - RxDBGridExportSpreadSheet1: TRxDBGridExportSpreadSheet; - RxDBGridPrint1: TRxDBGridPrint; RxMemoryData1: TRxMemoryData; RxMemoryData1Country: TStringField; RxMemoryData1FLAG: TLongintField; diff --git a/components/rx/trunk/languages/rxdconst.es.po b/components/rx/trunk/languages/rxdconst.es.po index 5023558b2..9507a1873 100644 --- a/components/rx/trunk/languages/rxdconst.es.po +++ b/components/rx/trunk/languages/rxdconst.es.po @@ -39,6 +39,18 @@ msgstr "SCircularEnlaceDato" msgid "Column name" msgstr "" +#: rxdconst.scompressfonts +msgid "Compress fonts" +msgstr "" + +#: rxdconst.scompressimages +msgid "Compress images" +msgstr "" + +#: rxdconst.scompresstext +msgid "Compress text" +msgstr "" + #: rxdconst.sconfirmpasswordlabel msgid "&Confirm:" msgstr "&Confirmar:" @@ -97,6 +109,10 @@ msgstr "" msgid "Export footer formula" msgstr "" +#: rxdconst.sexportimages +msgid "Export images" +msgstr "" + #: rxdconst.sexportparams msgid "Export params" msgstr "" @@ -205,6 +221,10 @@ msgstr "" msgid "Sum" msgstr "" +#: rxdconst.sglobal +msgid "Global" +msgstr "" + #: rxdconst.shidezerovalues msgid "Hide zero values" msgstr "" @@ -295,6 +315,10 @@ msgstr "" msgid "Other options" msgstr "" +#: rxdconst.soutline +msgid "Out line" +msgstr "" + #: rxdconst.soverwriteexisting msgid "Overwrite existing" msgstr "" @@ -327,6 +351,10 @@ msgstr "Clave no cambio" msgid "New password and confirmation not equal" msgstr "Nueva clave y confirmacion no son iguales" +#: rxdconst.spdfoptions +msgid "PDF options" +msgstr "" + #: rxdconst.sportrait msgid "Portrait" msgstr "" @@ -629,6 +657,10 @@ msgstr "" msgid "Show column title" msgstr "" +#: rxdconst.stitlecolor +msgid "Title color" +msgstr "" + #: rxdconst.stoolsexportpdf msgid "Export to PDF file" msgstr "" @@ -661,6 +693,10 @@ msgstr "Desbloquear" msgid "Enter your password" msgstr "Entre su clave" +#: rxdconst.suserawjpeg +msgid "Use raw JPEG" +msgstr "" + #: rxdconst.susernamelabel msgid "&User name:" msgstr "&Nombre usuario:" diff --git a/components/rx/trunk/languages/rxdconst.po b/components/rx/trunk/languages/rxdconst.po index 071c9882c..b8c3e29ed 100644 --- a/components/rx/trunk/languages/rxdconst.po +++ b/components/rx/trunk/languages/rxdconst.po @@ -37,6 +37,18 @@ msgstr "" msgid "Column name" msgstr "" +#: rxdconst.scompressfonts +msgid "Compress fonts" +msgstr "" + +#: rxdconst.scompressimages +msgid "Compress images" +msgstr "" + +#: rxdconst.scompresstext +msgid "Compress text" +msgstr "" + #: rxdconst.sconfirmpasswordlabel msgid "&Confirm:" msgstr "" @@ -93,6 +105,10 @@ msgstr "" msgid "Export footer formula" msgstr "" +#: rxdconst.sexportimages +msgid "Export images" +msgstr "" + #: rxdconst.sexportparams msgid "Export params" msgstr "" @@ -197,6 +213,10 @@ msgstr "" msgid "Sum" msgstr "" +#: rxdconst.sglobal +msgid "Global" +msgstr "" + #: rxdconst.shidezerovalues msgid "Hide zero values" msgstr "" @@ -281,6 +301,10 @@ msgstr "" msgid "Other options" msgstr "" +#: rxdconst.soutline +msgid "Out line" +msgstr "" + #: rxdconst.soverwriteexisting msgid "Overwrite existing" msgstr "" @@ -313,6 +337,10 @@ msgstr "" msgid "New password and confirmation not equal" msgstr "" +#: rxdconst.spdfoptions +msgid "PDF options" +msgstr "" + #: rxdconst.sportrait msgid "Portrait" msgstr "" @@ -607,6 +635,10 @@ msgstr "" msgid "Show column title" msgstr "" +#: rxdconst.stitlecolor +msgid "Title color" +msgstr "" + #: rxdconst.stoolsexportpdf msgid "Export to PDF file" msgstr "" @@ -635,6 +667,10 @@ msgstr "" msgid "Enter your password" msgstr "" +#: rxdconst.suserawjpeg +msgid "Use raw JPEG" +msgstr "" + #: rxdconst.susernamelabel msgid "&User name:" msgstr "" diff --git a/components/rx/trunk/languages/rxdconst.ru.po b/components/rx/trunk/languages/rxdconst.ru.po index 458e3712c..2354082f6 100644 --- a/components/rx/trunk/languages/rxdconst.ru.po +++ b/components/rx/trunk/languages/rxdconst.ru.po @@ -1,5 +1,15 @@ msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"X-Generator: Poedit 1.8.8\n" #: rxdconst.sapptitlelabel msgid "Application \"%s\"" @@ -37,6 +47,18 @@ msgstr "Перекрёстная ссылка данных" msgid "Column name" msgstr "Имя столбца" +#: rxdconst.scompressfonts +msgid "Compress fonts" +msgstr "Сжимать шрифты" + +#: rxdconst.scompressimages +msgid "Compress images" +msgstr "Сжимать изображения" + +#: rxdconst.scompresstext +msgid "Compress text" +msgstr "Сжимать текст" + #: rxdconst.sconfirmpasswordlabel msgid "&Confirm:" msgstr "&Подтверждение:" @@ -93,6 +115,10 @@ msgstr "Имя файла экспорта" msgid "Export footer formula" msgstr "Экспортирововать формулы итоговой строки" +#: rxdconst.sexportimages +msgid "Export images" +msgstr "Экспорт изображений" + #: rxdconst.sexportparams msgid "Export params" msgstr "Параметры экспорта" @@ -197,6 +223,10 @@ msgstr "Текст" msgid "Sum" msgstr "Сумма" +#: rxdconst.sglobal +msgid "Global" +msgstr "Общее" + #: rxdconst.shidezerovalues msgid "Hide zero values" msgstr "Не отображать нулевые значения" @@ -281,6 +311,10 @@ msgstr "Ориентация" msgid "Other options" msgstr "Прочие параметры" +#: rxdconst.soutline +msgid "Out line" +msgstr "Контуры" + #: rxdconst.soverwriteexisting msgid "Overwrite existing" msgstr "Перезаписать существующее" @@ -295,7 +329,7 @@ msgstr "Имя страницы" #: rxdconst.spapertype msgid "Paper type" -msgstr "" +msgstr "Тип бумаги" #: rxdconst.spasswordchanged msgid "Password changed" @@ -313,6 +347,10 @@ msgstr "Пароль не изменён" msgid "New password and confirmation not equal" msgstr "Новый пароль и подтверждение не совпадают" +#: rxdconst.spdfoptions +msgid "PDF options" +msgstr "Параметры PDF" + #: rxdconst.sportrait msgid "Portrait" msgstr "Портрет" @@ -607,9 +645,13 @@ msgstr "Отображать заголовок отчёта" msgid "Show column title" msgstr "Отображать заголовки столбцов" +#: rxdconst.stitlecolor +msgid "Title color" +msgstr "Цвет заголовков" + #: rxdconst.stoolsexportpdf msgid "Export to PDF file" -msgstr "" +msgstr "Экспорт в PDF файл" #: rxdconst.stoolsexportspeadsheet msgid "Export to speadsheet" @@ -635,7 +677,10 @@ msgstr "Разблокировать" msgid "Enter your password" msgstr "Введите ваш пароль" +#: rxdconst.suserawjpeg +msgid "Use raw JPEG" +msgstr "Использовать сырой JPEG" + #: rxdconst.susernamelabel msgid "&User name:" msgstr "&Имя пользователя" - diff --git a/components/rx/trunk/languages/rxdconst.uk.po b/components/rx/trunk/languages/rxdconst.uk.po index b28532049..4e3e4b20b 100644 --- a/components/rx/trunk/languages/rxdconst.uk.po +++ b/components/rx/trunk/languages/rxdconst.uk.po @@ -48,6 +48,18 @@ msgstr "Перехресне посилання даних" msgid "Column name" msgstr "Назва стовпця" +#: rxdconst.scompressfonts +msgid "Compress fonts" +msgstr "" + +#: rxdconst.scompressimages +msgid "Compress images" +msgstr "" + +#: rxdconst.scompresstext +msgid "Compress text" +msgstr "" + #: rxdconst.sconfirmpasswordlabel msgid "&Confirm:" msgstr "&Підтвердження:" @@ -104,6 +116,10 @@ msgstr "Експортувати назву файлу" msgid "Export footer formula" msgstr "" +#: rxdconst.sexportimages +msgid "Export images" +msgstr "" + #: rxdconst.sexportparams msgid "Export params" msgstr "" @@ -209,6 +225,10 @@ msgstr "Статичний текст" msgid "Sum" msgstr "Сума" +#: rxdconst.sglobal +msgid "Global" +msgstr "" + #: rxdconst.shidezerovalues msgid "Hide zero values" msgstr "Ховати нульові значення" @@ -293,6 +313,10 @@ msgstr "Орієнтація" msgid "Other options" msgstr "" +#: rxdconst.soutline +msgid "Out line" +msgstr "" + #: rxdconst.soverwriteexisting msgid "Overwrite existing" msgstr "Переписати існуючий" @@ -325,6 +349,10 @@ msgstr "Пароль не змінено" msgid "New password and confirmation not equal" msgstr "Новий пароль і підтвердження не співпадають" +#: rxdconst.spdfoptions +msgid "PDF options" +msgstr "" + #: rxdconst.sportrait msgid "Portrait" msgstr "Книжна" @@ -621,6 +649,10 @@ msgstr "Показати заголовок звіту" msgid "Show column title" msgstr "Показати заголовок стовпця" +#: rxdconst.stitlecolor +msgid "Title color" +msgstr "" + #: rxdconst.stoolsexportpdf msgid "Export to PDF file" msgstr "" @@ -649,6 +681,10 @@ msgstr "Розблокувати" msgid "Enter your password" msgstr "Введіть ваш пароль" +#: rxdconst.suserawjpeg +msgid "Use raw JPEG" +msgstr "" + #: rxdconst.susernamelabel msgid "&User name:" msgstr "&Ім'я користувача" diff --git a/components/rx/trunk/rxdbgrid.pas b/components/rx/trunk/rxdbgrid.pas index 2b8f90cb5..5f6dc991d 100644 --- a/components/rx/trunk/rxdbgrid.pas +++ b/components/rx/trunk/rxdbgrid.pas @@ -2901,8 +2901,6 @@ end; procedure TRxDBGrid.OutCaptionCellText(aCol, aRow: integer; const aRect: TRect; aState: TGridDrawState; const ACaption: string); -//var -// T1, T2: TTextStyle; begin if (TitleStyle = tsNative) then DrawThemedCell(aCol, aRow, aRect, aState) @@ -2914,12 +2912,6 @@ begin if ACaption <> '' then begin -{ T1:=Canvas.TextStyle; - T2:=T1; - T1.Wordbreak:=true; - Canvas.TextStyle:=T1; - DrawCellText(aCol, aRow, aRect, aState, ACaption); - Canvas.TextStyle:=T2; } if not (rdgDisableWordWrapTitles in OptionsRx) then WriteTextHeader(Canvas, aRect, ACaption, GetColumnAlignment(aCol, True)) else diff --git a/components/rx/trunk/rxdbgridexportpdf.pas b/components/rx/trunk/rxdbgridexportpdf.pas index 9a7037bbf..6b8496025 100644 --- a/components/rx/trunk/rxdbgridexportpdf.pas +++ b/components/rx/trunk/rxdbgridexportpdf.pas @@ -155,6 +155,7 @@ type FDataSet:TDataSet; FPosY : integer; + procedure InitFonts; procedure DoSetupDocHeader; procedure DoSetupFonts; // @@ -170,13 +171,9 @@ type procedure DoExportFooter; procedure DoSaveDocument; - function DoExecTools:boolean;override; function DoSetupTools:boolean; override; - // - //procedure DoTest; - // - procedure InitFonts; + public constructor Create(AOwner: TComponent); override; destructor Destroy; override; @@ -405,7 +402,7 @@ end; procedure TRxDBGridExportPDF.WriteTextRect(AExportFont: TExportFontItem; X, Y, W, H: integer; AText: string; ATextAlign: TAlignment); var - FTW, FTH, ADescender, FTH1, FTH2: Single; + FTW, FTH, FTH1, FTH2: Single; X1: TPDFFloat; Y1, fX, fY: TPDFFloat; fW, fH: Extended; @@ -485,7 +482,7 @@ begin fW1 := ConvetUnits(FPDFDocument.Images[IDX].Width); fH1 := ConvetUnits(FPDFDocument.Images[IDX].Height); fX:=ConvetUnits(X); - fY:=ConvetUnits(Y); + fY:=ConvetUnits(Y + constCellPadding); fW:=ConvetUnits(W); fH:=ConvetUnits(H); @@ -540,7 +537,7 @@ end; procedure TRxDBGridExportPDF.DoExportTitle; var - i, X, CP, K, KY, TH1, J, X1, W1: Integer; + i, X, CP, K, KY, TH1, X1, W1, WNext: Integer; C, FStartCol: TRxColumn; CT: TRxColumnTitle; H: LongInt; @@ -572,7 +569,13 @@ begin TH1:=CT.CaptionLine(K).Height * RxDBGrid.DefaultRowHeight; if K < CT.CaptionLinesCount-1 then begin - if not Assigned(CT.CaptionLine(K).Next) then + + if i < FRxDBGrid.Columns.Count-1 then + WNext:=FRxDBGrid.Columns[i+1].Width + else + WNext:=0; + + if (not Assigned(CT.CaptionLine(K).Next)) or (X + C.Width + WNext > FPageWidth - FPageMargin.Right) then begin KL:=CT.CaptionLine(K); X1:=X; @@ -584,20 +587,14 @@ begin W1:=W1 + KL.Col.Width; end; - - - //DrawRect(X, KY, {CT.CaptionLine(K).Width} C.Width, TH1, FRxDBGrid.BorderColor, FTitleColor); DrawRect(X1, KY, W1, TH1, FRxDBGrid.BorderColor, FTitleColor); - - //WriteTextRect(ActivateFont(C.Title.Font, FRxDBGrid.TitleFont), X, KY, C.Width, TH1, CT.CaptionLine(K).Caption, C.Title.Alignment); WriteTextRect(ActivateFont(C.Title.Font, FRxDBGrid.TitleFont), X1, KY, W1, TH1, CT.CaptionLine(K).Caption, C.Title.Alignment); end; KY:=KY + TH1; end else begin - DrawRect(X, KY, {CT.CaptionLine(K).Width} C.Width, FPosY + H - KY, FRxDBGrid.BorderColor, FTitleColor); - + DrawRect(X, KY, C.Width, FPosY + H - KY, FRxDBGrid.BorderColor, FTitleColor); WriteTextRect(ActivateFont(C.Title.Font, FRxDBGrid.TitleFont), X, KY, C.Width, FPosY + H - KY, CT.CaptionLine(K).Caption, C.Title.Alignment); end; end; @@ -619,7 +616,6 @@ procedure DoWriteRow; var i, X, CP: Integer; C: TRxColumn; - S: String; B: TBitmap; AImageIndex: LongInt; begin @@ -702,7 +698,6 @@ begin end; var - F: TExportFontItem; i: Integer; sDefFontName:string; begin @@ -728,7 +723,7 @@ procedure TRxDBGridExportPDF.DoExportFooter; procedure WriteFooterRow(AFooterRow:Integer); var - i, X, CP, FS: Integer; + i, X, CP: Integer; S: String; C: TRxColumn; begin @@ -833,9 +828,6 @@ begin end; procedure TRxDBGridExportPDF.DoExportPage; -var - P: TPDFPage; - i: Integer; begin StartNewPage; @@ -983,85 +975,7 @@ begin end; RxDBGridExportPdfSetupForm.Free; end; -(* -procedure TRxDBGridExportPDF.DoTest; -var - lPt1:TPDFCoord; - lFntPtSize, FtText1: Integer; - lFC: TFPFontCacheItem; - lFntInfo: TTFFileInfo; - lHeight, lTextHeightInMM, lDescenderHeightInMM, A1: Extended; - lWidth, lTextWidthInMM: Single; - sFontName, sSampleText: String; -begin - //setup - sSampleText:='Это привет мир!'; - lFntPtSize := 23; - lPt1.X := 25; // units in MM - lPt1.Y := 40; // units in MM - StartNewPage; - - -{ sFontName:='FreeSans'; - - lFC := gTTFontCache.Find(sFontName, False, False); - if not Assigned(lFC) then - raise Exception.Create('FreeSans font not found'); - lFntInfo := lFC.FontData; - - FPDFDocument.FontDirectory:=ExtractFileDir(lFC.FileName); - FtText1 := FPDFDocument.AddFont(ExtractFileName(lFC.FileName), sFontName); // TODO: this color value means nothing - not used at all -} - sFontName:=FFontItems.FDefaultFontNormal.FontName; - lFC := gTTFontCache.Find(sFontName, False, False); - if not Assigned(lFC) then - raise Exception.Create('FreeSans font not found'); - lFntInfo := lFC.FontData; - FtText1 := FFontItems.FDefaultFontNormal.FPdfFont; - - FCurPage:=TPDFPage(FWorkPages[0]); - FCurPage.UnitOfMeasure := uomMillimeters; - { Page title } - - //FCurPage.SetFont(FFontItems.DefaultFontNormal.FPdfFont, 23); - FCurPage.SetFont(FtText1, lFntPtSize); - - - FCurPage.SetColor(clBlack, false); - FCurPage.WriteText(lPt1.X, lPt1.Y, sSampleText); - - { draw a rectangle around the Page Title text } - - - { result is in pixels } - lHeight := lFntInfo.CapHeight * lFntPtSize * gTTFontCache.DPI / (72 * lFntInfo.Head.UnitsPerEm); - - { convert pixels to mm as our PDFPage.UnitOfMeasure is set to mm. } - lTextHeightInMM := (lHeight * 25.4) / gTTFontCache.DPI; -// lTextHeightInMM := lHeight; - - lWidth := lFC.TextWidth(sSampleText, lFntPtSize); - { convert the Font Units to Millimeters } - lTextWidthInMM := (lWidth * 25.4) / gTTFontCache.DPI; -// lTextWidthInMM := lWidth; - - { result is in pixels } - lHeight := Abs(lFntInfo.Descender) * lFntPtSize * gTTFontCache.DPI / (72 * lFntInfo.Head.UnitsPerEm); - A1:=lHeight; - { convert pixels to mm as you PDFPage.UnitOfMeasure is set to mm. } - lDescenderHeightInMM := (lHeight * 25.4) / gTTFontCache.DPI; -// lDescenderHeightInMM := lHeight; - - { adjust the Y coordinate for the font Descender, because - WriteUTF8Text draws on the baseline. Also adjust the TextHeight - because CapHeight doesn't take into account the Descender. } - FCurPage.SetColor(clRed, true); - FCurPage.DrawRect(lPt1.X, lPt1.Y+lDescenderHeightInMM, lTextWidthInMM, lTextHeightInMM+lDescenderHeightInMM, 1, false, true); - //lFntInfo.Free; - DrawRect(10, 100, Round(lWidth), Round(lHeight + A1), Graphics.clBlack, Graphics.clRed); -end; -*) procedure TRxDBGridExportPDF.DoSaveDocument; var F: TFileStream; diff --git a/components/rx/trunk/rxdbgridexportpdfsetupunit.lfm b/components/rx/trunk/rxdbgridexportpdfsetupunit.lfm index 83b3159f2..f00cf8fce 100644 --- a/components/rx/trunk/rxdbgridexportpdfsetupunit.lfm +++ b/components/rx/trunk/rxdbgridexportpdfsetupunit.lfm @@ -69,10 +69,10 @@ object RxDBGridExportPdfSetupForm: TRxDBGridExportPdfSetupForm Height = 212 Top = 75 Width = 510 - ActivePage = TabSheet1 + ActivePage = TabSheet2 Anchors = [akTop, akLeft, akRight, akBottom] BorderSpacing.Around = 6 - TabIndex = 0 + TabIndex = 1 TabOrder = 2 object TabSheet1: TTabSheet Caption = 'Global' diff --git a/components/rx/trunk/rxdbgridexportpdfsetupunit.pas b/components/rx/trunk/rxdbgridexportpdfsetupunit.pas index 50c5c8fab..ec771923f 100644 --- a/components/rx/trunk/rxdbgridexportpdfsetupunit.pas +++ b/components/rx/trunk/rxdbgridexportpdfsetupunit.pas @@ -107,14 +107,22 @@ begin PageControl1.ActivePageIndex:=0; Caption:=sExportParams; + TabSheet1.Caption:=sGlobal; + TabSheet2.Caption:=sPDFOptions; Label1.Caption:=sExportFileName; - //Label3.Caption:=sPageName; cbOpenAfterExport.Caption:=sOpenAfterExport; cbExportColumnHeader.Caption:=sExportColumnHeader; cbExportColumnFooter.Caption:=sExportColumnFooter; cbExportCellColors.Caption:=sExportCellColors; cbOverwriteExisting.Caption:=sOverwriteExisting; + CheckBox6.Caption:=sExportImages; Label2.Caption:=sPaperType; + Label5.Caption:=sTitleColor; + CheckBox1.Caption:=sOutLine; + CheckBox2.Caption:=sCompressText; + CheckBox3.Caption:=sCompressFonts; + CheckBox4.Caption:=sCompressImages; + CheckBox5.Caption:=sUseRawJPEG; RadioGroup1.Caption:=sOrientation; RadioGroup1.Items[0]:=sPortrait; diff --git a/components/rx/trunk/rxdconst.pas b/components/rx/trunk/rxdconst.pas index 31643857c..4adbf9454 100644 --- a/components/rx/trunk/rxdconst.pas +++ b/components/rx/trunk/rxdconst.pas @@ -182,6 +182,7 @@ resourcestring sExportColumnFooter = 'Export column footer'; sExportCellColors = 'Export cell colors'; sExportFormula = 'Export footer formula'; + sExportImages = 'Export images'; sOverwriteExisting = 'Overwrite existing'; sShowColumnHeaderOnAllPage = 'Show column header on all pages'; sPageMargins = 'Page margins'; @@ -195,6 +196,14 @@ resourcestring sLandscape = 'Landscape'; sPrintOptions = 'Print options'; sPaperType = 'Paper type'; + sTitleColor = 'Title color'; + sGlobal = 'Global'; + sPDFOptions = 'PDF options'; + sOutLine = 'Out line'; + sCompressText = 'Compress text'; + sCompressFonts = 'Compress fonts'; + sCompressImages = 'Compress images'; + sUseRawJPEG = 'Use raw JPEG'; sShowTitle = 'Show column title'; sShowFooter = 'Show footer';