TDBGrid-exportondersteuning
De add-on-unit dbGridHotPDFExport (Lib\addons\DBGrid) schrijft de zichtbare kolommen en alle rijen van de dataset van een TDBGrid naar een PDF-tabel. Hij maakt zijn eigen THotPDF-document aan, vult het en slaat het op, dus de grid is de enige invoer die hij nodig heeft
Ingangspunten
DBGridHotPDFExportToFile(AGrid, AOutputFileName[, AOptions])schrijft de PDF naar een bestandDBGridHotPDFExportToStream(AGrid, AOutputStream[, AOptions])schrijft hem naar een stream, via een tijdelijk bestand in%TEMP%DBGridHotPDFDefaultOptionsgeeft een recordTDBGridHotPDFExportOptionsmet de standaardwaarden terug: A4 in punten (595 x 842), marges van 36 punten, rijen van 22 punten, een kopregel van 24 punten, Arial 9 met een titel van 14 punten, eenclBtnFace-kopregel en$00F5F5F5-afwisselende rijenTDBGridHotPDFExportis dezelfde export als component op het paletblad HotPDF (geregistreerd doordbGridHotPDFDesign): stelGridenOutputFileNamein en roepExportToFileofExportToStreamaan. Elk optieveld is een gepubliceerde property;ResetOptionsherstelt de standaardwaarden
Wat wordt geëxporteerd
- Zichtbare gridkolommen met een veld, in gridvolgorde, met hun kolomtitels, of de zichtbare velden van de dataset wanneer de grid geen kolommen heeft; de kolombreedtes houden de verhoudingen van de grid aan over de afdrukbare breedte
- Elk record van
FirsttotEof, met deDisplayTextvan elk veld; celtekst die niet past wordt afgekapt en eindigt op... - Alle tekst gebruikt
FontName, dat glyphs voor de data moet hebben: de standaard Arial toont Chinese, Japanse of Koreaanse tekst als lege blokjes, dus stel voor zulke data een CJK-font in zoals Microsoft YaHei - Een nieuwe pagina begint wanneer de volgende rij over de onderrand zou lopen, en de kopregel herhaalt zich op elke pagina. De titel (
Title, anders deNamevan de grid) wordt één keer getekend, op de eerste pagina, zolangIncludeTitleTrue is Title,Author,Subject,Keywords,PDFVersion(standaard pdf17),PDFACompliance,PDFXComplianceenCompressionworden aan het document doorgegeven
Datasetstatus
- Tijdens het doorlopen van de dataset roept de export
DisableControlsaan en daarnaEnableControls, dus gekoppelde besturingselementen werken niet per rij opnieuw bij - Het huidige record wordt eerst als bookmark bewaard en aan het einde hersteld, ook wanneer de export mislukt
- Een nil-grid, een lege bestandsnaam, een grid zonder dataset, een inactieve dataset of een grid zonder zichtbare datakolommen geeft een exception in plaats van False terug te geven
Voorbeeld
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;