Laden...

PDF Datei suchen und drucken

Erstellt von PatrickB82 vor 2 Jahren Letzter Beitrag vor 2 Jahren 289 Views
P
PatrickB82 Themenstarter:in
3 Beiträge seit 2021
vor 2 Jahren
PDF Datei suchen und drucken

Hallo, vielen Dank für die Aufnahme hier im Forum.

Ich erstelle eine WINFORMS App in c# und möchte damit PDF Dateien, die sich auf D:\PDF befinden drucken. Die PDF Dateien werden als Ziffern (Bestellnummer)gespeichert (1234.pdf).

Ich habe hierfür eine "TbBestellnummer" Textbox und einen "Drucken" Button. Die Textbox wird mit der jeweiligen Bestellnummer gefüllt und mit dem click event vom Button soll diese Bestellnummer im PDF Ordner gesucht werden und anschließend gedruckt werden. Ich bin absoluter Neuling und weiß leider überhaupt nicht, wie ich das Problem lösen kann. Vielleicht gibt es hier Lösungen für mein Problem. Danke schon mal.

T
2.219 Beiträge seit 2008
vor 2 Jahren

Wenn dir nur der richtige Ansatz fehlt, dann schau die mal die Klassen Directory, File und Path an.
Damit kannst du dann die Dateien einfach ermitteln.
Das drucken musst du dann vermutlich noch über einen entsprechenden Dialog anstoßen.
Sollte es in Winforms ohne großen Aufwand umsetzen lassen.

Directory Klasse (System.IO)
File Klasse (System.IO)
Path Klasse (System.IO)

Nachtrag:
Druckunterstützung - Windows Forms .NET Framework

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

P
PatrickB82 Themenstarter:in
3 Beiträge seit 2021
vor 2 Jahren

Vielen Dank schon mal für deine Hilfe.

Ich habe hier einen kleinen Druckprozess, der auch soweit tut was er soll. Ich weiss jetzt nur nicht, wie ich ihm sagen soll das er nach der Nummer suchen soll die vordefiniert in der Textbox im Formular steht. Ich bin wie gesagt absoluter Anfänger.


Process proc = new Process();
            proc.StartInfo.CreateNoWindow = false;
            proc.StartInfo.Verb = "print";
            proc.StartInfo.FileName = @"C:\test\document.pdf";
            proc.Start();
            proc.WaitForExit(10000);
            proc.CloseMainWindow();
            proc.Close();

16.807 Beiträge seit 2008
vor 2 Jahren

Jeder hat mal klein angefangen, aber Du wirst nicht drum herum kommen, dass Du Dir entsprechende Lektüre durchliest.
Im Falle von Windows Befehlzeilen kannst Du Dir einfach die Hilfe durchlesen, welche Parameter angenommen werden.
Referenz zum Befehlszeilen Tool drucken

Unterstützt die jeweilige Anwendung Deinen Wunsch nicht, dann musst Du Dich nach anderen Wegen umschauen.
Sowas nennt sich evaluieren und gehört auch zu den Aufgaben eines Entwicklers; meist, bevor man anfängt 🙂

Ich weiss jetzt nur nicht, wie ich ihm sagen soll das er nach der Nummer suchen soll die vordefiniert in der Textbox im Formular steht.

Die Druckkomponente ist "dumm" und wird für Dich nicht irgendeine Logik übernehmen.
Das entsprechende Suchen etc wirst Du alles ausprogrammieren müssen.

Mit der Google Suche Google Suche nach ".net print pdf" findest Du viele Wege, wie man PDFs mit .NET umgehen/drucken kann.
Soweit ich das in Erinnerung habe, wirst Du eine zusätzliche Komponente für das Drucken von einzelnen Seiten benötigen; je nachdem was Du tatsächlich willst ggfls. eine kostenpflichtige Komponente.
Es gibt leider wenig Bibliotheken im Allgemeinen, die ordentlich mit PDFs umgehen können.

Du kannst auch die Forensuche gerne verwenden.
Es gab schon hunderte Themen rund um das PDF Drucken.

P
PatrickB82 Themenstarter:in
3 Beiträge seit 2021
vor 2 Jahren

Danke!
Ich habe das was ich erreichen wollte, mit dieser Komponente hinbekommen. Sie sucht anhand des Inhaltes der Textbox die gewünschte PDF in Ordner. Was mir jetzt nur noch fehlt ist, dass der Fehler abgefangen wird wenn die Box mal leer sein sollte bzw wenn eine Nummer drin steht, die es als PDF nicht gibt. Gibt es hierzu Ideen?

Ja, und ich bin und möchte kein Entwickler werden. Ich habe mir dieses kleine Tool nur aus der Not heraus für die Arbeit gebastelt um mir manche Arbeit etwas zu erleichtern.


Process proc = new Process();
            proc.StartInfo.CreateNoWindow = false;
            proc.StartInfo.Verb = "print";
            proc.StartInfo.FileName = @"C:\test\"+tBsuch.Text+".pdf";
            proc.Start();
            proc.WaitForExit(10000);
            proc.CloseMainWindow();
            proc.Close();

16.807 Beiträge seit 2008
vor 2 Jahren

Gibt es hierzu Ideen?

Klar, vorher die Felder prüfen (=> Google Suche nach "c# check if textbox is empty")
Das beschreiben die Grundlagen von .NET 🙂

Oder passiv auf Exceptions hören, was man immer tun sollte.
Best Practices für Ausnahmen – .NET

Ja, und ich bin und möchte kein Entwickler werden.

Das Forum ist voller hilfsbereiter Leute; aber der Sinn eines Forums ist eigentlich, dass bei konkreten Problemen geholfen wird - nicht, dass wir für Dich Code schreiben oder Du Dir das Lesen ersparst.
Wenn ich ohne Wissen versuch ne Mauer zu setzen oder ohne Rezept nen Brötchen zu backen, dann wird das vermutlich auch nicht klappen.

PS: bitte aus dem Thread hier kein Endlosthema machen, siehe auch [Hinweis] Wie poste ich richtig?