Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi PDF-Library (Debenu) unter MAC OS X (https://www.delphipraxis.net/183690-pdf-library-debenu-unter-mac-os-x.html)

Harry Stahl 28. Jan 2015 17:12

PDF-Library (Debenu) unter MAC OS X
 
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;

ULIK 29. Jan 2015 08:27

AW: PDF-Library (Debenu) unter MAC OS X
 
Auch wenn ich Dir zur Sache selbst nichts sagen kann: wenn Du seit 27.12.2014 noch keine Antwort von ihnen bekommen hast, dann ist da was schief gelaufen. Normalerweise reagieren Andrew oder Pal immer ziemlich zuverlässig. Frag doch einfach nochmal nach.

edit: welche Version von QuickPDF iund welchen Renderer verwendest Du denn?
edit 2: Was liefern denn LastErrorCode bzw, LastRenderError?

Grüße,
Uli

Harry Stahl 2. Feb 2015 17:50

AW: PDF-Library (Debenu) unter MAC OS X
 
Ich hab ja am 29.01 noch mal nachgefragt (per Live-Chat). Das Problem "Sei in Bearbeitung" (zu diesem Zeitpunkt also 4 Wochen), bis Heute habe ich immer noch nichts gehört.

Ich verwende Version 11.13 für MAC (vom 28.01) und keinen speziellen Renderer. Ich gehe mal davon aus, dass das so ähnlich ist, wie unter Windows, macht man keine Angaben: Standard-Renderer. Oder: ich wähle einen anderen Renderer und muss dann die mitgelieferte DLL verwenden.

Oder muss ich unter MAC immer die Dylib-DLL verwenden? Ich gehe davon aus, dass die für die Verwendung mit XCode gedacht ist. Wäre ja auch komisch, wenn man das müsste, zumal ja zumindest einige Funktionen ohne die DyLib-Dll funktionieren.

Rückgabewert von LastRenderError ist ein leerer String und LastErrorCode hat den Wert "0".

arnof 3. Feb 2015 08:39

AW: PDF-Library (Debenu) unter MAC OS X
 
Auf dem Mac kannst Du doch jeden normalen Druck in eine PDF lenken, warum brauchst Du das denn überhaupt ?

ULIK 3. Feb 2015 09:32

AW: PDF-Library (Debenu) unter MAC OS X
 
Harry,

hast Du Source-Variante von QuickPDF oder nur die DCU? Du könntest auch mal probieren, explizit einen der anderen Renderer zu verwenden (wenn das auf dem MAC geht: Cairo oder diesen DPLR; schau mal SelectRenderer in der Doku an. Würde das dann Ergebnisse liefern?
Schalt doch mal GDI+ aus: SetGDIPlusOptions(0, 0); nicht daß deswegen das Rendern fehlschlägt. Und wie ist das eigentlich: kriegst Du einen Stream der Länge 0 heraus oder enthält der Stream dann ein Bitmap der korrekten Größe aber ohne Inhalt?


Grüße,
Uli

Harry Stahl 3. Feb 2015 16:42

AW: PDF-Library (Debenu) unter MAC OS X
 
Zitat:

Zitat von arnof (Beitrag 1288686)
Auf dem Mac kannst Du doch jeden normalen Druck in eine PDF lenken, warum brauchst Du das denn überhaupt ?

Habe mit den DEBENU-Komponenten für Windows einen kleines PDF-Manager-Programm geschrieben (http://www.pdf-manager.de) das u.a. sehr genügsam bezüglich Arbeitsspeicheranforderung ist und andere Vorteile hat.

Das will ich nun auch gerne für die MAC-Plattform anbieten, es geht dabei mehr als nur um die Anzeige, sondern eben auch um Bearbeitung. Aber am Anfang steht eben die Anzeige und wenn hier die grundlegende Funktion mit der MAC-Version nicht funktioniert, ist das schon blöd...

Harry Stahl 3. Feb 2015 16:55

AW: PDF-Library (Debenu) unter MAC OS X
 
Zitat:

Zitat von ULIK (Beitrag 1288691)
Harry,

hast Du Source-Variante von QuickPDF oder nur die DCU? Du könntest auch mal probieren, explizit einen der anderen Renderer zu verwenden (wenn das auf dem MAC geht: Cairo oder diesen DPLR; schau mal SelectRenderer in der Doku an. Würde das dann Ergebnisse liefern?
Schalt doch mal GDI+ aus: SetGDIPlusOptions(0, 0); nicht daß deswegen das Rendern fehlschlägt. Und wie ist das eigentlich: kriegst Du einen Stream der Länge 0 heraus oder enthält der Stream dann ein Bitmap der korrekten Größe aber ohne Inhalt?


Grüße,
Uli

Habe nur die DCU-Version. Anderer Renderer wird anscheinend unter MAC nicht angeboten (und GDI+ hat ja unter MAC keine Funktion).

Der Stream hat 46 Bytes.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz