Ich möchte gerne verschiedene Images als mehrseitiges PDF-Dokument mit PowerPDF speichern, bekomme aber immer nur eine leere Seite ins PDF:
Hier mal mein Code bisher:
Delphi-Quellcode:
procedure TPdfExport.Execute;
var
Pr: TPReport;
PPage: TPRPage;
PLayoutPanel: TPRLayoutPanel;
PJpegImage: TPRJpegImage;
bmp: TBitmap;
jpg: TJPEGImage;
I: Integer;
begin
Pr:=TPReport.Create(nil);
try
Pr.FileName:=Fofile;
Pr.BeginDoc;
for I := 0 to FPictureList.count-1 do
begin
bmp:=TBitmap.Create;
jpg:=TJPEGImage.Create;
bmp.loadfromfile(FPictureList[i].filename);
jpg.Assign(bmp);
PPage:=TPRPage.Create(nil);
PPage.Width:=1680;
PPage.Height:=2376;
PLayoutPanel:=TPRLayoutPanel.Create(PPage);
PLayoutPanel.Left:=0;
PLayoutPanel.Top:=0;
PLayoutPanel.Width:=PPage.Width;
PLayoutPanel.Height:=PPage.Height;
PJpegImage:=TPRJpegImage.Create(PLayoutPanel);
PJpegImage.Left:=0;
PJpegImage.Top:=0;
PJpegImage.Width:=PLayoutPanel.Width;
PJpegImage.Height:=PLayoutPanel.Height;
PJpegImage.Stretch:=True;
PJpegImage.Picture.Bitmap.Assign(jpg);
pr.Print(PPage);
PJpegImage.Free;
PLayoutPanel.Free;
PPage.Free;
jpg.Free;
bmp.Free;
end;
Pr.EndDoc;
finally
Pr.Free;
sffConv.Free;
end;
end;
Sieht ein bischen wirr aus, aber es geht mir grundsätzlich erstmal darum, dass irgendwie funktioniert. Schön machen kann ich dann immer noch.
Wie gesagt, das ausgegebene PDF hat eine leere Seite ohne Inhalt. Das BMP und JPG-Object enthält das Bild korrekt, das habe ich vorher geprüft. Ich habe das auch schon mit TPRImage probiert, das gleiche Ergebnis. Das läßt mich vermuten, dass ich vielleicht irgendwas nicht richtig zuordne. Ist das mit meine Create's so korrekt?
Gruß Hobbycoder
Vielleicht das ganze Free-Gedöns mal nach dem EndDoc ansiedeln. Ist aber nur ein Schuss ins Blaue.
madas