Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: Nicola - Settembre 01, 2018, 08:07:57 am

Titolo: Esportare in PDF Grafici
Inserito da: Nicola - Settembre 01, 2018, 08:07:57 am
Son riuscito a crearmi dei grafici partendo da un database (!). Ora vorrei che quei grafici oltre che su video potessero essere esportati in pdf, ma non saprei come fare.
Qualcuno mi potrebbe aiutare? grazie.
Titolo: Re:Esportare in PDF Grafici
Inserito da: nomorelogic - Settembre 01, 2018, 11:20:09 am
io partirei da fcl-pdf
dai un'occhiata al link qua sotto

http://free-pascal-general.1045716.n5.nabble.com/PDF-generator-td5724420.html (http://free-pascal-general.1045716.n5.nabble.com/PDF-generator-td5724420.html)
Titolo: Re:Esportare in PDF Grafici
Inserito da: xinyiman - Settembre 01, 2018, 04:09:15 pm
Devi creare un report con lazreport poi nel report metti un oggetto immagine, ipotizzando che il tuo grafico si chiami Chart1 vai nell'evento OnEnterRect dell'oggetto TfrReport (il tuo report e mettici questo codice)

Codice: [Seleziona]
procedure TFrm_Report.frReport1EnterRect(Memo: TStringList; View: TfrView);
var
  bmp: TBitmap;
  pv: TfrPictureView;
begin
  if Memo.Count = 0 then exit;
  if (Memo[0] = 'Chart1') and (View is TfrPictureView) then begin
    pv := View as TfrPictureView;
    bmp := TBitmap.Create;
    try
      bmp.Width := Round(pv.Width);
      bmp.Height := Round(pv.Height);
      Chart1.PaintOnCanvas(
        bmp.Canvas, Rect(0, 0, bmp.Width, bmp.Height));
      pv.Picture.Bitmap.Assign(bmp);
    finally
      bmp.Free;
    end;
  end;
end;

Quindi lanci il report e vedrai che il grafico è dentro il report. Da li devi esportare il report in pdf con un oggetto TfrTNPDFExport (facente sempre parte del package lazreport, ma che risulta nei componenti aggiuntivi da aggiungere a lazreport).