Podpora exportu TDBGrid
Doplňková jednotka dbGridHotPDFExport (Lib\addons\DBGrid) zapisuje viditelné sloupce a všechny řádky datasetu TDBGrid do tabulky PDF. Vytvoří, vyplní a uloží vlastní dokument THotPDF, takže jediným vstupem jí je grid
Vstupní body
DBGridHotPDFExportToFile(AGrid, AOutputFileName[, AOptions])zapíše PDF do souboruDBGridHotPDFExportToStream(AGrid, AOutputStream[, AOptions])zapíše ho do streamu, přes dočasný soubor v%TEMP%DBGridHotPDFDefaultOptionsvrátí záznamTDBGridHotPDFExportOptionss výchozími hodnotami: A4 v bodech (595 x 842), okraje 36 bodů, řádky 22 bodů, hlavičkový řádek 24 bodů, Arial 9 s titulkem o velikosti 14 bodů, hlavičkaclBtnFacea střídavé řádky$00F5F5F5TDBGridHotPDFExportje tentýž export jako komponenta na paletové stránce HotPDF (registrovaná jednotkoudbGridHotPDFDesign): nastavteGridaOutputFileNamea zavolejteExportToFileneboExportToStream. Každé pole voleb je published vlastnost;ResetOptionsobnoví výchozí hodnoty
Co se exportuje
- Viditelné sloupce gridu s polem, v pořadí gridu, s jejich titulky, případně viditelná pole datasetu, když grid sloupce nemá; šířky sloupců zachovají proporce gridu napříč tisknutelnou šířkou
- Každý záznam od
FirstpoEof, sDisplayTextkaždého pole; text buňky, který se nevejde, se zkrátí a končí... - Veškerý text používá
FontName, který musí mít pro data glyfy: výchozí Arial zobrazí čínský, japonský nebo korejský text jako prázdné čtverečky, takže pro taková data nastavte font CJK, například Microsoft YaHei - Nová stránka začne, když by další řádek přesáhl dolní okraj, a hlavičkový řádek se opakuje na každé stránce. Titulek (
Title, jinakNamegridu) se nakreslí jednou, na první stránce, dokud jeIncludeTitleTrue Title,Author,Subject,Keywords,PDFVersion(výchozí pdf17),PDFACompliance,PDFXComplianceaCompressionse předají dokumentu
Stav datasetu
- Export během průchodu datasetem volá
DisableControlsa potéEnableControls, takže vázané ovládací prvky nepřekreslují každý řádek zvlášť - Aktuální záznam se nejprve uloží jako bookmark a na konci obnoví, a to i když export selže
- Nil grid, prázdný název souboru, grid bez datasetu, neaktivní dataset nebo grid bez viditelných datových sloupců vyvolá výjimku místo vrácení False
Příklad
uses
dbGridHotPDFExport;
var
Options: TDBGridHotPDFExportOptions;
begin
Options:= DBGridHotPDFDefaultOptions;
Options.Title:= 'Customers';
Options.PageWidth:= 842; // A4 landscape
Options.PageHeight:= 595;
DBGridHotPDFExportToFile(DBGrid1, 'Customers.pdf', Options);
end;