Ich krieg es hier nicht hin, mit der DEBENU-PDF-Library unter MAC die Funktion "RenderPageToStream" zu verwenden. Der Inhalt ist immer leer. Die PDF-Datei wurde erfolgreich geladen, man kann auch Seitenanzahl abfragen, etc. aber diese ganz zentrale Funktion geht nicht. Mache ich da etwas falsch oder hat die Library da einen Bug?
Hersteller hat bislang auf meine Anfrage (27.12.2014) leider noch nicht geantwortet. Mit der PDF-Library unter Windows (
VCL-Version) funktioniert das wie gewünscht.
Delphi-Quellcode:
procedure TF_ViewMain.RenderPageNr (APic: TBitmap; Nr: Integer);
var
MS: TMemoryStream;
DPI, al, at: Integer;
begin
if Assigned(QP) then begin
MS := TMemoryStream.Create;
try
// Zoomval is set to 100 in this test
if Zoomval <= 100 then begin
DPI := 100; //Round ((zoomval * 96) / 100);
end else begin
DPI := Round (zoomval);
end;
// That does not work. - after loading, empty bitmap
QP.RenderPageToStream (dpi, Nr, 0, ms);
// That does not work! -empty bitmap
//QP.RenderPageToFile(100, 1, 0, '/Users/harrystahl/Desktop/TestA.bmp');
// That does not work! - empty tiff-file
//qp.RenderAsMultipageTIFFToFile(100, '1', 0, 0, '/Users/harrystahl/Desktop/Test.tiff');
// That works ( OK ) ---------
//QP.ExtractFilePages(qp.GetDocumentFileName, '', '/Users/harrystahl/Desktop/Test.pdf', '1');
// That works not! - empty bitmap
//QP.RenderDocumentToFile(100, Nr, 1, 0, '/Users/harrystahl/Desktop/Test.bmp');
MS.Position := 0;
try
APic.LoadFromStream(ms);
except
ShowMessage (qp.LastErrorCode.ToString); // result is zero
end;
finally
MS.Free;
end;
end;
end;