Seite 1 von 1

PDF anzeigen

Verfasst: Do, 09. Nov 2017 18:01
von volkrrr
Hallo zusammen, ich möchte einfach eine PDF Datei anzeigen. Natürlich habe ich das über ActiveX geschafft, aber das ist völlig unzuverlässig. Es sollen auf dem Monitor an einer Stelle nacheinander (Zeitintervall 10s) verschiedene PDF angezeigt werden. Ich erzeuge mehrere XBPStatic (Rahmen) und darin die PDF. Dann wechsle ich mit der Anzeige :hide() und show() zwischen den Seiten. Klappt auch... meistens. Manchmal sind dann die Anzeigen weiß.
Ich habe hier gelesen, dass einige tolle Produkte nutzen und das damit alles klappt. Ich kann mir aber nicht vorstellen für so eine einfach Anwendung 500.-€ zusätzlich ausgeben zu müssen. Hat einer eine Idee???

Re: PDF anzeigen

Verfasst: Do, 09. Nov 2017 20:30
von georg
Hallo, volkrrr -


also, ActiveX ist nicht das Wahre ...

Hast Du mal versucht, über den XbpHTMLViewer() PDFs anzuzeigen? (Ich habe es nicht versucht, aber der IE sollte PDFs rendern können).

Dann sind PDFs eigentlich ja PostScriptDateien, die einmal durchgenudelt werden und als PDFs rauskommen (z.B. mittels GhostScript). Ob das den umgekehrten Weg geht? Dann hättest Du eine PostScriptDatei, die man doch in einem PresentationSpace darstellen könnte?

Das sind so die Gedanken, die mir bei weiteren Nachdenken über Deine Frage durch den Kopf gegangen sind. Vielleicht lässt sich davon ja was umsetzen?

Re: PDF anzeigen

Verfasst: Do, 09. Nov 2017 21:23
von AUGE_OHR
hi,
volkrrr hat geschrieben: Do, 09. Nov 2017 18:01 ... aber das ist völlig unzuverlässig. Es sollen auf dem Monitor an einer Stelle nacheinander (Zeitintervall 10s) verschiedene PDF angezeigt werden.
Frage : "wie" zeigst du die PDF "in 10Sec." Abstand an ? mit der Demo von Alaska ?
wenn du das Demo von Alaska benutzt rufst du dann "immer wieder" das Demo auf (laden / entladen des activeX ) ?


p.s. die activeX Komponenten kommen ja nicht von Alaska also musst man schon beim Hersteller des activeX nach Informationen suchen. ohne die Methoden von einem activeX zu kennen kann man es IMHO kaum vernünftig einsetzten.
AcroRD32.jpg
AcroRD32.jpg (121.88 KiB) 9371 mal betrachtet

Re: PDF anzeigen

Verfasst: Fr, 10. Nov 2017 17:45
von volkrrr
@ georg: danke für den Hinweis... ich gucke mal weiter
@ auge_ohr: ich mache das ganz trivial:
oXbp1 := XbpStatic():new( drawingArea, , {10,10}, {xBreite+2,yBreite+20} )
oXbp1:type := XBPSTATIC_TYPE_GROUPBOX
oXbp1:create()
oXbp1:show()
oControl := XbpActiveXControl():new( oXbp1 ) // mit dem Static verknüpfen
oControl:CLSID := "{CA8A9780-280D-11CF-A24D-444553540000}" // Adobe Acrobat Reader
oControl:create(,, {0, 0}, {xBreite, yBreite} )
oControl:SetShowToolBar( .F. )
oControl:SetShowScrollbars( .F. )
oControl:loadFile( BD_PDFS+"\"+aPDFs[1,F_NAME] ) // in aPDFs stehen alle PDFs drinn, die ich im Verzeichnis gefunden habe
oControl:show()

Jetzt ist das Objekt wunderbar zu sehen. Soll eine weitere PDF angezeigt werden, erzeuge ich ein neues XbpStatic an der selben Position auf dem Bildschirm und wechsle jetzt mit
oXbp1:hide() und oXbp2:show() zwischen den Objekten hin und her (Endlosschleife mit sleep()).
Ich fand das galant, leider ist manchmal die Seite weiß.... das ist mein Problem

Re: PDF anzeigen

Verfasst: Fr, 10. Nov 2017 18:19
von georg
Hallo, volkrrr -


hast Du Dir die betreffende PDF-Datei mal genauer angeschaut? Lässt sie sich im Adobe Acrobat Reader anzeigen? Wenn ja, wie sieht es aus, wenn Du nur diese eine Datei anzeigst?

Re: PDF anzeigen

Verfasst: Fr, 10. Nov 2017 18:39
von AUGE_OHR
volkrrr hat geschrieben: Fr, 10. Nov 2017 17:45 @ auge_ohr: ich mache das ganz trivial:
...
Ich fand das galant, leider ist manchmal die Seite weiß.... das ist mein Problem
genau das habe ich befürchtet : du lädst "zu viele" Instanzen des activeX in zu kurzer Zeit [-X

Re: PDF anzeigen

Verfasst: Fr, 10. Nov 2017 18:47
von volkrrr
Die PDFs sind einwandfrei. Ich teste mit zwei PDFs. Die Anzeige baut sich auf, die beiden werden abwechselnd gezeigt. Das klappt vlt. 10-15 mal, dann auf einmal ist eine nicht sichtbar. Ich verstecke ja nur das XBPStatic, in dem das ActiveX Element ist... und naja, zwei sind ja nicht viel.
Ich habe es auch schon mit

:toFront()
:invalidateRect()

versucht,keine Chance :cry: