Drucken einer PDF-Datei automatisch mit Adobe Acrobat
Ich habe 2 Probleme beim Versuch zu drucken eine pdf-lautlos in C# unter Verwendung von adobe acrobat. Ich Drucke die PDF-Dateien mit Bearbeiten.Start().
Das erste Problem ist, dass ich nicht starten Sie Adobe Acrobat ohne Angabe des vollständigen Pfad der ausführbaren Datei. Ich nehme an, es doesn ' T fügen Sie es zu Ihrem Weg, wenn Sie es installieren. Gibt es eine einfache Möglichkeit, starten Sie die neueste version von Adobe acrobat auf einem Computer ohne Angabe von Pfadnamen? Ich bin besorgt, dass der client ein update zu tun, und brechen mein code startet diese. Ich bin auch beschäftigt mit der Installation dieser auf Maschinen mit verschiedenen windows-Versionen (Installationspfade sind anders in der 64-bit-Umgebung vs. 32-bit).
Mein zweites problem ist die Tatsache, dass immer, wenn ich starten Sie acrobat und drucken es bleibt immer noch das acrobat-Fenster geöffnet. Ich dachte, dass der Befehl Linie Parameter, die ich hätte unterdrücken, die dieser aber offenbar nicht.
Ich versuche, starten Sie adobe acrobat aus der Befehlszeile mit der folgenden syntax:
C:\Program Files (x86)\Adobe\Reader 10.0\Reader>AcroRd32.exe /t " - Label.pdf - " "HP4000" "HP LaserJet 4100 Series PCL6" "aus.pdf"
Es druckt gut, aber es bleibt immer noch das acrobat-Fenster. Gibt es irgendeine andere Lösung außer dem gehen raus und töten den Prozess programmgesteuert?
InformationsquelleAutor der Frage Cole W | 2011-02-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Landete ich ausschöpfen, auf Adobe Acrobat hier und werde mit FoxIt Reader (Kostenloser pdf-reader) zu tun, mein pdf-Druck. Dies ist der code den ich zum drucken über FoxIt in C#:
Der obige code druckt auf dem Standarddrucker, aber es gibt Kommandozeilen-Parameter, die Sie verwenden können, um anzugeben, Datei-und Drucker. Sie können die folgende syntax verwenden:
Foxit Reader.exe -t "pdf-Dateiname" "Drucker name"
Update:
Offenbar früheren acrobat-Versionen haben nicht das problem oben beschrieben. Wenn Sie eine viel ältere version (4.x oder etwas ähnliches) ist es nicht dieses problem aufweisen.
Einige Drucker unterstützen das native pdf-Druck als gut, so dass es möglich ist, senden Sie die raw-pdf-Daten an den Drucker und kann drucken. Sehen https://support.microsoft.com/en-us/kb/322091 für das senden von raw-Daten an den Drucker.
Update 2
In späteren Versionen unserer software, die wir am Ende mit einem bezahlten Produkt:
http://www.pdfprinting.net/
InformationsquelleAutor der Antwort Cole W
Nick ' s Antwort sah gut zu mir, so übersetzte ich es auf c#. Es funktioniert!
}
InformationsquelleAutor der Antwort Phil in Seattle
Folgenden wird geprüft, Acrobat Reader 8.1.3-und Acrobat Pro 11.0.06, und die folgenden Funktionen bestätigt:
InformationsquelleAutor der Antwort Chris Schiffhauer
habe eine andere Lösung .. die Kombination von anderen snippets von stackOverflow. Wenn ich Anrufe, CloseMainWindow, und rufen Sie dann zu Töten .. adobe schließt
InformationsquelleAutor der Antwort Nick
Habe ich versucht, sowohl Adobe Reader und Foxit ohne Glück. Die aktuellen Versionen der beiden sind sehr lieb von popping up windows und verlassen-Prozesse ausgeführt werden. Landete mit Sumatra PDFdie sehr unauffällig sind. Hier der code, den ich benutze. Nicht eine Spur von jedem windows-und Prozess beendet schön, wenn es fertig ist Druck.
InformationsquelleAutor der Antwort Fredrik Hall
Problem 1
Können Sie in der Lage zu arbeiten Sie Ihren Weg rund um die registry. In
HKEY_CLASSES_ROOT\.pdf\PersistentHandler\(Default)
finden Sie eine CLSID, die Punkte auf einen Wert in einem der beiden Orte. Entweder die CLSID-Ordner mit dem gleichen Schlüssel, oder (für 64 bit-Systeme) einen Schritt nach unten inWow6432Node\CLSID
dann in dass CLSID Schlüssel.In diesem Schlüssel kann man sich
LocalServer32
und finden Sie die Standard string-Wert verweist auf die aktuelle exe-Pfad.Ich bin nicht 100% auf irgendwelche von diesem, aber es scheint plausibel (wenn du gehst zu haben, um zu überprüfen auf mehrere Umgebungen, um zu bestätigen, dass in der Tat findet der Prozess, den Sie suchen).
(Hier sind die docs auf registry-Schlüssel beteiligt über PersistentHandlers)
Problem 2
Wohl mit den CreateNoWindow der Process StartInfo.
(nur eine Vermutung, aber ich bin sicher, ein wenig zu testen, wird beweisen, dass es funktioniert/nicht funktionieren)
InformationsquelleAutor der Antwort Brad Christie
Wenn Sie Acrobat reader 4.0 Sie tun können, Dinge wie diese:
"C:\Program Dateien\Adobe\Acrobat 4.0\Reader\Acrord32.exe" /t /s "U:\PDF_MS\SM003067K08.pdf" Planning_H2
ABER wenn die PDF-Datei erstellt wurde, in eine neuere Acrobat-version, die ein unsichtbares Fenster öffnet
InformationsquelleAutor der Antwort Andrew Michnik
Haben Sie schon versucht, etwas anders als der Acrobat Reader, so mein Rat ist, vergessen Sie GUI-Anwendungen, und verwenden Sie 3rd-party-Kommandozeilen-tool wie RawFilePrinter.exe
Neueste version zum download: http://effisoft.pl/rawfileprinter
InformationsquelleAutor der Antwort zuko
Für Problem 2
Mit /h param öffnet sich der Acrobat-oder Adobe Reader im minimierten Fenster.
Beispiel:
C:\Program Files (x86)\Adobe\Reader 10.0\Reader>AcroRd32.exe **/h** /t "Label.pdf" "HP4000" "HP LaserJet 4100 Series PCL6" "out.pdf"
Zugehörigen Dokumentation: https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/Acrobat_SDK_developer_faq.pdf#page=24
InformationsquelleAutor der Antwort Nikita Jain