Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   ActiveX Komponente AcrobatReader (https://www.delphipraxis.net/205771-activex-komponente-acrobatreader.html)

JMT67 14. Okt 2020 16:29

ActiveX Komponente AcrobatReader
 
Hallo zusammen,

hoffe meine Frage steht hier an der richtigen Stelle und ist nicht zu simpel.

Ich benutze die ActivX Komponente TAcroPDF zum Anzeigen diverser pdf-Dateien.

Z. B. habe ich diese Komponente auf einem Formular und rufe die pdf Datei auf mit:

AcroPdf1.src := 'X:\DWG\PDF\Fertigung\0HD12345.pdf';

Das funktioniert.

Unter Windows 7 kann ich dann das Kontextmenü vollumfänglich nutzen.
Unter Windows 10 funktioniert dieses nur teilweise, z. B. "Nach rechts drehen" oder "Suchen" lässt sich aufrufen, aber das entscheidende "Drucken..." reagiert nicht.

Das Verhalten tritt sowohl bei einem älteren Programm auf (programmiert mit DelphiXE unter Win7 als auch bei einer komplett neuen Programmierung (programmiert mit Delphi 10.4 unter Win10).

Ich hoffe, jemand kann mir sagen, wo das Foul ist, schon mal bedankt.

Gruß Jörg

BerndS 14. Okt 2020 17:37

AW: ActiveX Komponente AcrobatReader
 
Hallo,
eine Lösung kann ich leider nicht bieten.
Wir haben das gleiche Problem im TWebbrowser und auch nur zusammen mit W10 2004. Es funktioniert aber nur bei einigen Anwendern nicht. Auf meinem Entwicklungsrechner funktioniert es.
Bei Adobe gibt es dazu einen Thread.

Als Fix haben wir WPView erworben. Die Vorschau ist jetzt umschaltbar auf den alternativen Viewer.

himitsu 14. Okt 2020 18:53

AW: ActiveX Komponente AcrobatReader
 
Nach vielen Jahren wo es immer wieder Probleme gab, haben wir uns von Acrobat verabschiedet.
> Nach Updates von Windows, Acrobat oder sonstwas ging immer mal irgendwas nicht mehr.
Offiziell unterstützt Adobe auch garnicht mehr die "offene" ActiveX/OCX-Schnittstelle ... wenn es geht dann gut, aber vorwiegend wird nur das eigene Programm und diese Schnittstelle für die großen Browser gewartet. Wer es im eigenen Programm nutzt, hat halt Pech.

Es macht einfach keinen Spaß, wenn deren ständige Fehler dann zuerst auf uns zurück fallen "euer Programm funktioniert nicht" :wall:


Aktuell nutzen wir die PDF-Komponente von DevExpress und Drucken liefe über TPrinter.
Da aber aber praktisch alle großen Browser inzwischen selbst PDF integriert haben, kann man vermutlich auch TWebBrwoser verwenden. (sollte aber aufpassen, dass dort Adobe sich nicht reinschummelt)
z.B. Bei Google suchenPDF.js

Der Vorteil was "eigenes" mitzubringen ist aber, dass man nicht von externen Änderungen abhängig ist. (Bugs oder Anderung der Funktionen/Features)




Wenn Arobat installiert ist, lässt sich über ShellExecute mit
Delphi-Quellcode:
Operation=PRINT, File=deinePDF, Parameters=nil
eine PDF drucken, auf dem Standarddrucker.
Will man aber auch den Drucker auswählen, dann muß man direkt das Programm ansprechen, also
Delphi-Quellcode:
Operation=OPEN, File=AcroRd32.exe, Parameters=/N /S /T "Datei.pdf" "DruckerName"
.
PS: Bei Google suchenFoxit bietet als Console die gleichen Parameter.

mmw 14. Okt 2020 19:06

AW: ActiveX Komponente AcrobatReader
 
hallo,
soll soll's functionieren. (nach mehrmaligen probieren)


I had this same issue, but I was able to just now get it working again after
I disabled the "Enable Protected Mode at startup" feature under Edit > Preferences > Security (Enhanced)

https://community.adobe.com/t5/acrob...1165512?page=1

Gruß

JMT67 15. Okt 2020 09:05

AW: ActiveX Komponente AcrobatReader
 
Guten Morgen,

bedankt bei allen Schreibern für die Hinweise zum Programmieren mit der Schnittstelle und vor allem für den Hinweis zu den Einstellungen im Reader. Das hat funktioniert, es kann wieder gedruckt werden.
:-D

Gruß Jörg

BerndS 15. Okt 2020 10:14

AW: ActiveX Komponente AcrobatReader
 
@mmw
Danke, hier klappt es jetzt auch.
In der Regristry ist die Einstellung unter
Code:
[HKEY_CURRENT_USER\SOFTWARE\Adobe\Acrobat Reader\DC\Privileged]
"bProtectedMode"=dword:00000000¶
zu finden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:03 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