Page 1 of 1

Fill area with pattern - PDF export issue

Posted: Tue Sep 20, 2022 2:18 pm
by 16588164
Hi,

I would like to use embedded pdf export feature by using TeeSaveToPDFFile function, but I have an issue when an area on chart is filled with a pattern (using TSeriesBandTool). Indeed this area is exported as a blank area into the pdf file:

TeeChart screenshot:
TChartCanvasWithPattern.png
TChartCanvasWithPattern.png (106.47 KiB) Viewed 45019 times

Pdf generated (with TeeSaveToPDFFile function) screenshot:
TChartPdfWithPattern.png
TChartPdfWithPattern.png (31.35 KiB) Viewed 45019 times

I use Delphi XE10.1 Berlin and Steema TeeChart Pro VCL FMX Source Code 2020.31.

Thanks for your help

Anthony

Re: Fill area with pattern - PDF export issue

Posted: Tue Sep 27, 2022 6:22 am
by yeray
Hello Anthony,

I'm afraid patterns aren't exported to pdf. I've added it to the public tracker (#2556)
The same happens with transparencies (#2275).

Re: Fill area with pattern - PDF export issue

Posted: Mon Oct 03, 2022 4:30 pm
by 16588163
Hello Yeray,

will this fix be part of the next Teechart VCL release?

thanks & regards
Thomas

Re: Fill area with pattern - PDF export issue

Posted: Tue Oct 04, 2022 7:54 am
by yeray
Hello Thomas,

I can't say that.
https://www.steema.com/linkIn/Bug_Fixing_Policy

Re: Fill area with pattern - PDF export issue

Posted: Tue Oct 31, 2023 8:50 am
by 16588163
Hello Yeray,

is there any progress on this issue?

thanks & regards

Re: Fill area with pattern - PDF export issue

Posted: Thu Nov 02, 2023 8:14 am
by yeray
Hello,

We've just fixed the exportation of transparencies into pdf.
A workaround, which also works for patterns, is to create the pdf document "manually" (with TPDFCanvas), export the TChart to TBitmap with TeeCreateBitmap, and add that bitmap to the pdf document. Ie:

Code: Select all

procedure TForm1.ExportChartToPdf;
var c : TPDFCanvas;
    b : TBitmap;
const PDF='C:\tmp\chart1.pdf';
begin
  c:=TPDFCanvas.Create;
  try
    b:=Chart1.TeeCreateBitmap;
    try
      c.Draw(0,0,b);
    finally
      b.Free;
    end;

    c.SaveToFile(PDF);
  finally
    c.Free;
  end;
end;
There was a range exception with new IDEs with this technique we've also just fixed.