Stöd för TDBGrid-export
Tilläggsenheten dbGridHotPDFExport (Lib\addons\DBGrid) skriver en TDBGrid-datasets synliga kolumner och alla rader till en PDF-tabell. Den skapar, fyller och sparar sitt eget THotPDF-dokument, så rutnätet är den enda indata den behöver
Ingångspunkter
DBGridHotPDFExportToFile(AGrid, AOutputFileName[, AOptions])skriver PDF:en till en filDBGridHotPDFExportToStream(AGrid, AOutputStream[, AOptions])skriver den till en ström, via en temporär fil i%TEMP%DBGridHotPDFDefaultOptionsreturnerar enTDBGridHotPDFExportOptions-post med standardvärdena: A4 i punkter (595 x 842), 36 punkters marginaler, 22 punkter höga rader, en 24 punkter hög rubrikrad, Arial 9 med en 14 punkter stor titel,clBtnFacesom rubrikfärg och$00F5F5F5som färg på varannan radTDBGridHotPDFExportär samma export som komponent på palettsidan HotPDF (registrerad avdbGridHotPDFDesign): sättGridochOutputFileNameoch anropaExportToFileellerExportToStream. Varje optionfält är en published property;ResetOptionsåterställer standardvärdena
Vad som exporteras
- Synliga rutnätskolumner med ett fält, i rutnätsordning, med sina rubriktexter, eller datasetets synliga fält när rutnätet inte har några kolumner; kolumnbredderna behåller rutnätets proportioner över den utskrivbara bredden
- Varje post från
FirsttillEof, med fältetsDisplayText; en celltext som inte får plats klipps av och avslutas med... - All text använder
FontName, som måste ha glyfer för datat: standardvalet Arial visar kinesisk, japansk eller koreansk text som tomma rutor, så sätt ett CJK-typsnitt som Microsoft YaHei för sådana data - En ny sida börjar när nästa rad skulle passera den nedre marginalen, och rubrikraden upprepas på varje sida. Titeln (
Title, annars rutnätetsName) ritas en gång, på första sidan, medanIncludeTitleär True Title,Author,Subject,Keywords,PDFVersion(standard pdf17),PDFACompliance,PDFXComplianceochCompressionskickas vidare till dokumentet
Datasetets tillstånd
- Exporten anropar
DisableControlsmedan den går igenom datasetet ochEnableControlsefteråt, så att bundna kontroller inte ritar om sig för varje rad - Den aktuella posten sparas först som ett bokmärke och återställs på slutet, även när exporten misslyckas
- Ett nil-rutnät, ett tomt filnamn, ett rutnät utan dataset, ett inaktivt dataset eller ett rutnät utan synliga datakolumner utlöser ett exception i stället för att returnera False
Exempel
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;