TDBGrid export support
Add-on-uniten dbGridHotPDFExport (Lib\addons\DBGrid) skriver de synlige kolonner og alle rækker i et TDBGrid-dataset til en PDF-tabel. Den opretter, udfylder og gemmer sit eget THotPDF-dokument, så gridet er det eneste input, den behøver
Indgangspunkter
DBGridHotPDFExportToFile(AGrid, AOutputFileName[, AOptions])skriver PDF'en til en filDBGridHotPDFExportToStream(AGrid, AOutputStream[, AOptions])skriver den til en stream, via en midlertidig fil i%TEMP%DBGridHotPDFDefaultOptionsreturnerer enTDBGridHotPDFExportOptions-record med defaults: A4 i punkter (595 x 842), 36-punkts margener, 22-punkts rækker, en 24-punkts headerrække, Arial 9 med en 14-punkts titel, enclBtnFace-header og$00F5F5F5skifervise rækkerTDBGridHotPDFExporter samme eksport som en komponent på palettesiden HotPDF (registreret afdbGridHotPDFDesign): sætGridogOutputFileName, og kald såExportToFileellerExportToStream. Hvert optionfelt er en published property;ResetOptionsgendanner defaults
Hvad der eksporteres
- Synlige gridkolonner med et felt, i grid-rækkefølge, med deres titeltekster — eller datasetets synlige felter, når gridet ikke har kolonner; kolonnebredderne bevarer gridets proportioner hen over den printbare bredde
- Hver record fra
FirsttilEof, med hvert feltsDisplayText; celletekst, der ikke passer, klippes af og ender i... - Al tekst bruger
FontName, som skal have glyphs til dataene: default-Arial viser kinesisk, japansk eller koreansk tekst som tomme bokse, så sæt en CJK-skrifttype såsom Microsoft YaHei til den slags data - En ny side starter, når næste række ville krydse den nederste margen, og headerrækken gentages på hver side. Titlen (
Title, ellers gridetsName) tegnes én gang, på den første side, mensIncludeTitleer True Title,Author,Subject,Keywords,PDFVersion(default pdf17),PDFACompliance,PDFXComplianceogCompressionsendes videre til dokumentet
Dataset-tilstand
- Eksporten kalder
DisableControls, mens den går datasetet igennem, ogEnableControlsbagefter, så bundne kontroller ikke gentegner for hver række - Den aktuelle record gemmes først som et bookmark og gendannes til sidst, også når eksporten fejler
- Et nil-grid, et tomt filnavn, et grid uden dataset, et inaktivt dataset eller et grid uden synlige datakolonner udløser en exception i stedet for at returnere False
Eksempel
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;