TDBGrid export support
L'unità add-on dbGridHotPDFExport (Lib\addons\DBGrid) scrive le colonne visibili e tutte le righe del dataset di una TDBGrid in una tabella PDF. Crea, riempie e salva un suo documento THotPDF, quindi la griglia è l'unico input di cui ha bisogno
Punti di ingresso
DBGridHotPDFExportToFile(AGrid, AOutputFileName[, AOptions])scrive il PDF su un fileDBGridHotPDFExportToStream(AGrid, AOutputStream[, AOptions])lo scrive su uno stream, attraverso un file temporaneo in%TEMP%DBGridHotPDFDefaultOptionsrestituisce un recordTDBGridHotPDFExportOptionscon i default: A4 in punti (595 x 842), margini di 36 punti, righe di 22 punti, una riga di intestazione di 24 punti, Arial 9 con un titolo di 14 punti, intestazioneclBtnFacee righe alternate$00F5F5F5TDBGridHotPDFExportè la stessa esportazione come componente nella palette HotPDF (registrato dadbGridHotPDFDesign): impostaGrideOutputFileName, poi chiamaExportToFileoExportToStream. Ogni campo delle opzioni è una proprietà published;ResetOptionsripristina i default
Cosa viene esportato
- Le colonne visibili della griglia con un campo, nell'ordine della griglia, con le rispettive didascalie, oppure i campi visibili del dataset quando la griglia non ha colonne; le larghezze delle colonne conservano le proporzioni della griglia sulla larghezza stampabile
- Ogni record da
FirstaEof, usando ilDisplayTextdi ogni campo; il testo di una cella che non entra viene tagliato e finisce con... - Tutto il testo usa
FontName, che deve avere i glifi per i dati: la Arial predefinita mostra il testo cinese, giapponese o coreano come riquadri vuoti, quindi imposta un font CJK come Microsoft YaHei per dati di questo tipo - Una nuova pagina parte quando la riga successiva supererebbe il margine in basso, e la riga di intestazione si ripete su ogni pagina. Il titolo (
Title, altrimenti ilNamedella griglia) viene disegnato una volta, sulla prima pagina, mentreIncludeTitleè True Title,Author,Subject,Keywords,PDFVersion(default pdf17),PDFACompliance,PDFXComplianceeCompressionvengono passati al documento
Stato del dataset
- L'esportazione chiama
DisableControlsmentre percorre il dataset eEnableControlsalla fine, così i controlli collegati non si ridisegnano per ogni riga - Il record corrente viene prima salvato come bookmark e ripristinato alla fine, anche quando l'esportazione fallisce
- Una griglia nil, un nome file vuoto, una griglia senza dataset, un dataset non attivo o una griglia senza colonne dati visibili sollevano un'eccezione invece di restituire False
Esempio
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;