PDF anzeigen....!?

Nutzung, Komponenten, .NET

Moderator: Moderatoren

Antworten
kallecux
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 104
Registriert: Mi, 01. Feb 2006 23:19

PDF anzeigen....!?

Beitrag von kallecux »

Hallo Alaska Freunde,

gern diskutiert, aber ohne Erfolg. PDF.PdfCtrl.5 oder ..6 oder ..7? Ich verzweifele.

Ich möchte einfach nur ein PDF anzeigen, gerne auch im original Acrobat Reader und nicht in einem Xbase-Fenster. Kann mir bitte jemand einen Tipp geben? Wenn sein muss auch per RunShell....(nicht den Tipp per runshell :wink:)

Frendliche Grüße
Karl Heinz
Beste Grüße

Karl Heinz
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: PDF anzeigen....!?

Beitrag von brandelh »

kallecux hat geschrieben:Wenn sein muss auch per RunShell....(nicht den Tipp per runshell :wink:)
Das verstehe ich jetzt aber nicht :?

Zu dem Thema gab es auch schon einige Abhandlungen hier, ich bin damals an der Unberechenbarkeit der ActiveX Version fast verzweifelt (teilweise über 20 Sekunden bis zur Anzeige).

RunShell() ist die beste Lösung ! die ich kenne ;-)
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: PDF anzeigen....!?

Beitrag von AUGE_OHR »

hi,
kallecux hat geschrieben: gern diskutiert, aber ohne Erfolg. PDF.PdfCtrl.5 oder ..6 oder ..7? Ich verzweifele.
wieso was hast du für Probleme ?
schon mal in der Registry nach PDF.OCX gesucht und den Path verglichen?
... unter den "Inproserver32" finden sich oft noch die "alten Path" wenn ein
"update" durchgeführt wurde.
kallecux hat geschrieben: Ich möchte einfach nur ein PDF anzeigen, gerne auch im original Acrobat Reader und nicht in einem Xbase-Fenster. Kann mir bitte jemand einen Tipp geben? Wenn sein muss auch per RunShell....(nicht den Tipp per runshell :wink:)
RunShell( "/C START EXPLORER.EXE DEMO.PDF" )
gruss by OHR
Jimmy
kallecux
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 104
Registriert: Mi, 01. Feb 2006 23:19

Beitrag von kallecux »

Danke für die Antworten, wenn ich die Beiträge studiere, wird - wie Hubert schon angedeutet hat - das Thema unterschiedlich kommentiert - in jedem fall immer mit dem Hinweis, dass das Eine oder Andere nicht einwandfrei funktioniert.

@AUGEOHR Auch das Thema PDF.OCX soll nicht immer klappen. Ich werde die RunShell Variante nehmen, da ich viele Installationen auf verschiedenen Rechnern habe.

Danke!
Beste Grüße

Karl Heinz
kallecux
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 104
Registriert: Mi, 01. Feb 2006 23:19

Beitrag von kallecux »

@Hubert

"Wenn sein muss auch per RunShell....(nicht den Tipp per runshell ) "

Nun habe ich verstanden, was Du nicht verstanden hast.... :idea:

Das sollte ein Scherz werden! Damit wollte ich sagen, dass ich den Tipp nicht per runshell bekommen möchte....!? :D
Beste Grüße

Karl Heinz
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9357
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Beitrag von Tom »

Hallo, Karl Heinz.

Wer PDF "richtig" steuern will, also zum Beispiel einen Ausdruck im Hintergrund generieren o.ä., kommt m.E. am OCX nicht vorbei. Leider ändert Acrobat mit jeder Version die CLSID. Acrobat 7 hatte "AcroPDF.PDF", bei Version 6 war es "PDF.PdfCtrl.6", bei Version 5 "PDF.PdfCtrl.5", davor "PDF.PdfCtrl.1". Die Version acht hat die CLSID "AcroPDF.PDF.1", wenn ich das richtig sehe. Im Prinzip muss man die IDs sammeln und jeweils prüfen, ob sich eine AX-Instanz mit der ID erzeugen lässt. Aber "RunShell" ist m.E. höchstens second best, weil jeder Windows-Nutzer die Standardprogramme ändern kann - und das meiner Erfahrung nach auch tut. Zudem lässt sich, wie gesagt, über Runshell wenig steuern. Wenn man PDF-Anzeigen richtig ins Programm integrieren will, muss man mit OCX arbeiten.
Herzlich,
Tom
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Beitrag von Jan »

Hallo Tom,

da mische ich mich jetzt mal ein 8)

Ich habe gerade diese Woche selber das Beispiel von Alaska aus den Samples für mein Projekt eingebaut, allerdings rufe ich damit immer eine fest codierte Datei auf (das Handbuch). Und dabei auch die {CA8A9780-280D-11CF-A24D-444553540000} aus dem Beispiel übernommen. Die 1.9 ist ja schon ein paar Tage alt, ich kann mir nicht vorstellen, daß die schon für den Adobe 8 gedacht war (ist aber nur geraten). Aber es funktioniert damit.

Wenn es denn doch nicht geht: Wo bekomme ich denn die Kennungen her? Im Prinzip muß ich ja vermutlich bei der 4er Version anfangen. Und wie setze ich die Abfrage ein, ob es denn geklappt hat mit der Version? ActiveX ist für mich absolutes Neuland, ich habe keine Ahnung wie man abfragt, ob es das Objekt überhaupt gibt, das man da aufgerufen hat.

Jan
kallecux
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 104
Registriert: Mi, 01. Feb 2006 23:19

Beitrag von kallecux »

HAllo Jan,

diese ID benutze ich auch:

oControl:CLSID := "{CA8A9780-280D-11CF-A24D-444553540000}"

auf einigen Rechnern funktioniert das auch, aber auf meinem eigenen z.B. nicht. - Dort ist neben AcrobatReader 8 noch der Acrobat 5.0 (nicht Reader) installiert.
Beste Grüße

Karl Heinz
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9357
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Beitrag von Tom »

So gut wie alle registrierten Controls stellten die CLSID parallel auch als GUID (Global Unique Identifier) zur Verfügung, und es ist egal, ob man:

oCtrl:CLSID := "{CA8A9780-280D-11CF-A24D-444553540000}"

oder

oCtrl:CLSID := "AcroPDF.PDF"

schreibt, weil es dasselbe bezeichnet. Die CLSIDs oder GUIDs findet man entweder direkt in der Registry oder über die entsprechenden Properties, die Tools wie OLEVIEW32 anzeigen. Beides wechselt mit jeder Acrobat-Version. Das Sample aus Xbase 1.9 ist für den Acrobat 7 gemacht.
Herzlich,
Tom
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Beitrag von Jan »

Tom,

da mir das keine Ruhe gelassen hat habe ich mich mal etwas umgefragt. Und 2 Antworten bekommen:

1) ActiveX wird erst seit der Version 7 offiziell unterstützt.

2) Statt der CLSID sollte ich doch lieber "registered name" des Readers nehmen.

Zu 1: Wie gesagt, ich nehme die CLSID aus dem Alaska-Beispiel, und das läuft auch unter Version 8. Ich bin nun ganz leicht irritiert, woher denn dann die angesprochenen Versions-Probleme kommen können. Wenn es doch nur diese beiden 7+8 gibt, die ActiveX bieten, und beide mit dieser CLSID laufen.

Zu 2: Was ist das, woher nehme ich das, geht das unter Xbase++ überhaupt?

Jan
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Beitrag von Rudolf »

Hallo,
das Problem mit der Geschwindigkeit habe ich vorläufig mal gelöst, ich zeige auch PDF's über ActiveX in meinen Applikationen an, die Dauer bis das ganze dann stabil am Bildschirm steht ist unakzeptabel. Es gibt aber das Tool PDFSpeedup mit dem einige Komponenten erst dann nachgeladen werden, wenn man sie im PDF braucht. Findet man unter wwww.acropdf.com. Habe aber auch schon überlegt den FOXIT Reader einzubauen, der ist auch wesentlich schneller und da ändert sich nichts so schnell bei den Versionen.

Grüsse
Rudolf
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Beitrag von Jan »

Ich habe das Problem, daß ich bei einem Wechsel in einen anderen Dialog = anderer Thread = andere Tabpage und wieder zurück die Menüleisten oben und links nicht mehr angezeigt bekomme. Erst wenn ich mit der Maus drüber fahre, erscheinen die nach und nach wieder. Ab und an ist auch die pdf selber nicht mehr zu sehen, nur das leere Reader-Fenster. Kurz Scrollen bringt das Dokument wieder zum Vorschein.

Ein Wechsel über den Taskmanager in ein komplett anderes Programm und wieder zurück funktioniert dagegen einwandfrei.

Jan
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16508
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hmm,
ich habe keine Ahnung (aber davon reichlich :D ) - aber vielleicht hilft Dir einer der Fixpacks?
Schau mal bei Alaska nach, da gibt es mittlerweile einige zum Thema ActiveX...

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Beitrag von Jan »

ich habe keine Ahnung (aber davon reichlich )
Na, das sagt hier der Richtige!

Ich hab mal eine Anfrage an Alaska abgeschickt. In der Hoffung, daß die mir darauf eine Antwort geben (ich bin mir da nicht so sicher wegen meiner "kleinen" Subscription).

Jan
Antworten