Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Drucker für AxAcroPDF-Control Druckfenster vorgeben

Frage Entwicklung Visual Studio

Mitglied: Mesaou

Mesaou (Level 1) - Jetzt verbinden

27.11.2014, aktualisiert 28.11.2014, 1122 Aufrufe, 5 Kommentare

Hi,
ich bräuchte mal wieder eure Hilfe. Ich schreibe gerade ein VB-Programm, das ein PDF in einem AxAcroPDF-Control anzeigt und dieses PDF dann ausdrucken soll. wenn ich die AxAcroPDF.Print()-Methode verwende geht automatisch das AdobeReader-Drucken-Fenster auf (soweit auch gewünscht).

Im Programm kann ausgewählt werden, mit welchen Druckern das PDF gedruckt werden soll. Hierzu lese ich die auf dem System installierten Drucker aus und gebe die Namen an einer Reihe von Checkboxen weiter. Beim Klick auf den "Druck"-Button in meinem Programm soll jetzt für jeden ausgewählten Drucker einmal das AdobeReader-Drucken-Fenster geöffnet werden, jeweils voreingestellt mit dem entsprechenden Drucker.

Das Problem ist, dass immer der Standard-Drucker ausgewählt ist und ich nicht weiß, wie ich diesen innerhalb des Programms temporär ändere (merken des aktuellen Standard-Druckers -> eintragen des temporären Standard-Druckers -> Drucken -> Änderung rückgängig machen).
Im weiteren Verlauf wird dann auch noch ein "Direktdruck"-Button eingerichtet, der dann über die Commandline ohne weitere Einstellmöglichkeiten einfach das übergebene Dokument über die entsprechenden Drucker druckt.

Druckschleife:
01.
     For Each Ctrl In Me.Controls 
02.
            If TypeOf Ctrl Is CheckBox Then 
03.
                If Not DirectCast(Ctrl, CheckBox).Name = "chkbArchiv" Then 
04.
                    If DirectCast(Ctrl, CheckBox).Checked Then 
05.
                        'MsgBox("Druck über " & DirectCast(Ctrl, CheckBox).Text) 
06.
                        Try 
07.
                            streamToPrint = New StreamReader(filePath) 
08.
                            Try 
09.
                                AddHandler PrintDocument1.PrintPage, AddressOf PrintDocument1_PrintPage 
10.
                                ' Specify the printer to use. 
11.
                                PrintDocument1.PrinterSettings.PrinterName = DirectCast(Ctrl, CheckBox).Text 
12.
 
13.
                                If pbAnzeige.Visible Then 
14.
                                    PrintDocument1.Print() 
15.
                                ElseIf AxAcroPDF1.Visible Then 
16.
                                    AxAcroPDF1.Print() 
17.
                                End If 
18.
                            Finally 
19.
                                streamToPrint.Close() 
20.
                            End Try 
21.
                        Catch ex As Exception 
22.
                            MessageBox.Show(ex.Message) 
23.
                        End Try 
24.
                    End If 
25.
                End If 
26.
            End If 
27.
        Next
Habe Google schon mit allem möglichen zu dem Thema gefüttert (vb Standarddrucker, auslesen, ermitteln, ändern, default printer, set, get, change, ...) komme aber immer nur auf die Einstellmöglichkeit für das PrintDocument (wie etwa auf der Hälfte des Code Snippets) das aberja leider nur für das entsprechende Control-Element gilt und nicht den System-Standard-Drucker setzt.

Ich freue mich auf eure Antworten

Grüße
Christoph
Mitglied: 114757
27.11.2014, aktualisiert um 19:01 Uhr
Hi,
das geht mit dem ActiveXControl des Readers nicht, da das ActiveX-Control die Printersettings ignoriert. Wenn man stattdessen Acrobat installiert hätte, ließe sich das eventuell damit lösen.
Willst du diesen Dialog unbedingt verwenden, musst du wohl oder übel für den Druckvorgang den Standarddrucker via Code wechseln, anders geht es hier nicht. Außer man ändert das Dropdown über die Win32-API, was aber doch einigen Aufwand bedeutet.

Gruß jodel32
Bitte warten ..
Mitglied: Mesaou
28.11.2014 um 08:38 Uhr
Ich bin nicht auf den Dialog festgelegt wr nur bisher die einzige Lösung, die ich gefunden hatte. hatte es vorher mit dem WebBrowserControl versucht, bin da aber auf ein ähnliches Problem gestoßen. Gibt es ne Möglichkeit den Standard-Drucker direkt zu ändern? Wenn ich das Programm offen habe und dann manuell über das Druckermenü den Standard-Drucker ändere, wird beim nächsten "Adobe-Druck-Fenster" der neue Standard-Drucker vorgeschlagen. Dass die Printsettings in meinem Code-Auschnitt nicht für den AxArcoRd gelten ist mir auch klar (steht ja explizit davor PrintDocument1.xxx).
Bitte warten ..
Mitglied: 114757
LÖSUNG 28.11.2014, aktualisiert um 15:03 Uhr
Zitat von Mesaou:
Gibt es ne Möglichkeit den
Standard-Drucker direkt zu ändern?
Sicher, aber das findet sich an jeder Ecke des Web .....
Bitte warten ..
Mitglied: Mesaou
28.11.2014, aktualisiert um 16:37 Uhr
Der Vorschlag von AnharMiah im zweiten Link hat den Erfolg gebracht. Die anderen Ansätze haben leider bei mir nicht funktioniert. Danke dir jodel32
Bitte warten ..
Mitglied: 114757
29.11.2014 um 09:43 Uhr
na aber das mit dem WSHNetwork Objekt läuft hier ebenso einwandfrei, man muss es nur richtig anpassen

Gruß jodel32
Bitte warten ..
Ähnliche Inhalte
Windows Userverwaltung
Standardeinstellungen für neue Benutzerkonten vorgeben.
gelöst Frage von drobskindWindows Userverwaltung5 Kommentare

Hallo, ich habe hier aktuell folgende Situation: - kleines Büro mit 2-10 PC - ca. 5-8 Mitarbeiter Auf den ...

CMS
EGroupware Benachrichtigung einen Betreff vorgeben?
Frage von D1Ck3nCMS

Hallo zusammen, ich habe mal eine kleine Frage zur eGroupware Community Edition 1.8: Jeder der zu einem Termin eingeladen ...

Batch & Shell
Standarddrucker per PC vorgeben
Frage von pixel0815Batch & Shell11 Kommentare

Servus zusammen, ich bin auf der Suche nach einem Programm das den Standarddrucker per PC vergibt. Der Administrator soll ...

Windows Tools
Greenshot auf RDP-Server - Einstellungen vorgeben
gelöst Frage von TiTuxWindows Tools6 Kommentare

Hallo, wir haben hier 5 RDP-Server als Farm laufen und auf allen fünf wurde Greenshot als Screenshot-Tool installiert. Es ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 2 StundenViren und Trojaner

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 6 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server15 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell10 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Windows Server
Administratoren-Gruppe abfragen?
Frage von 1410640014Windows Server6 Kommentare

Hallo, kennt jemand eine einfache (und schnelle) Möglichkeit, von allen Client-Computern im Active Directorey die Administratoren-Gruppe abzufragen, wer da ...