I am developing a program to read PDF files and retrieve image information from the pages.
With the code below, I can retrieve image information for JPEG-compressed image objects, but I am unable to do so for JPEG2000-compressed image objects.
Could you please advise me on how to handle this?
procedure TMainForm.OpenImage(DocName: string);
var
ok: Boolean;
bmp: TIEBitmap;
objType: TPdfObjectType;
haveBMP: Boolean;
i: Integer;
begin
//at FormCreate()
IEGlobalSettings().PDFEngine := ieenDLL;
IEGlobalSettings().JPEG2000Engine := ieenDLL;
ImageEnView1.LegacyBitmap := False;
ImageEnView1.IO.NativePixelFormat := True;
ImageEnView1.PdfViewer.Enabled := True;
ok := ImageEnView1.IO.LoadFromFilePDF(DocName);
ImageEnView1.PdfViewer.PageIndex := 0;
for i := 0 to ImageEnView1.PdfViewer.Objects.Count - 1 do
begin
objType := ImageEnView1.PdfViewer.Objects[i].ObjectType;
// Image properties
if objType = ptImage then
begin
bmp := TIEBitmap.Create();
haveBMP := ImageEnView1.PdfViewer.Objects[i].GetImage( bmp );
if haveBMP then
begin
ShowMessage( Format( ' Image Size: %d x %d', [ bmp.Width, bmp.Height ]));
end;
bmp.Free();
end;
end;
end;
#65288;ImageEn 15.1.1, Delphi 12.3)