Dateien drucken, wie?

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von hmatrix2.

    Dateien drucken, wie?

    Hallo,

    ich würde gerne egal was für ein dateitype, diese ausdrucken aber es sollten trotzdem die druckeinstellungen kommen. seite von bis, welchem drucker usw.
    mit welchem code mach ich das am besten??
    ich bin zu müde dir das zu erklären xD

    ich geb dir mal ein paar wichtige schnipsel die dir helfen sollten...

    mit ein bisschen erfahrung schaffste das dann...

    ansonsten melden:

    ahhh bevor ichs vergesse:
    nächstes mal googlen bitte
    komm im ernst...
    wenn du posts farmen möchtest wegen guten rang (LOL) dann mach bei i-welchen off topic spielen mit
    ansonsten:

    google: drucken mit vb 2008 druckerauswahl

    ehrlich nach 3 minuten halte ich jetzt meinen ersten ausdruck in der hand
    und ne minute später den gleichen text mit nem anderen drucker

    und kauft euch verdammt nochmal ein beschissenes visual basic buch...
    da steht das so schön erklärt drin...
    und wenn kein geld da ist gibt es msdn und im internet kostenlose e-books (ka ob die noch so heißen^^)


    musst ein printdocument hinzufügen

    VB.NET-Quellcode

    1. PrintDocument1.Print()


    VB.NET-Quellcode

    1. Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
    2. Using g As Graphics = e.Graphics
    3. Dim XPos, YPos As Single
    4. XPos = e.MarginBounds.X + 100
    5. YPos = e.MarginBounds.Y + 20
    6. For Each Zeile As String In txtDrucken.Lines
    7. g.DrawString(Zeile, New Font("Courier New", 12), Brushes.Black, XPos, YPos)
    8. YPos += g.MeasureString(Zeile, New Font("Courier New", 12)).Height
    9. Next
    10. End Using
    11. End Sub


    das mit druckvorschau solltest du durch google hinbekommen...
    und das mit der druckerauswahl such ich nochmal^^

    mfg HeadShotHarp

    finds jetzt grade nicht aber ich hätte was zum seite einrichten...
    also seitenabstand ne vorschau, größe, querformat, hochformat...

    wenns auch geht einfach nochmal anschreiben

    achso und nimm das nicht persönlich mit dem googlen oben^^
    ich versteh nicht warum es immer so viele gleiche threads gibt...

    allein mit sufu: drucker auswählen kommt ja schon genug nettes
    Lieber HeadShotHarp

    du befindet dich hier in einem Grundlagenforum. Ich finde die Art und Weise, wie du dich hier gerade
    aufführst, völlig deplaziert. Hier tummeln sich vornehmlich Anfänger rum, die für "ihre Probleme" eine
    schnelle Lösung suchen - und - mit VB.NET nocht nicht sehr vertraut sind. Da fällt es nun mal schwer,
    selbst auf den Trichter zu kommen. Sich hier aufzublasen und die entsprechenden Anfänger aufzufordern
    google zu konsultieren, ist nicht Sinn und Zweck dieses Board. Vllt. mag man via google schnell zu einer
    Lösung kommen. Jedoch findet man meinstens nur Code, den der Anfänger halt nicht wirklich verstehen kann.
    Das Board soll ihm mM die Möglichkeit geben, über diesen Code zu diskutieren und weitere Fragen stellen können.
    Wenn es dir nicht passt, dass Leute hier teils entsprechend banale Frage stellen, dann reg dich nicht auf und wechsel das Board.
    Du warst doch sicherlich auch mal Anfänger und bist an teilweisen einfach Stellen möglicherweise verzweifelt. Hättest du es
    dann toll gefunden, wenn du in einem pampigen Ton auf google verwiesen worden wärest? oder man dir gesagt hätte,
    kauf die halt ein "verschissenes Buch"?!
    Ich denk vb-paradise ist summa summarum eine wirklich tolle community, in der wirklich der eine dem anderen hilft, so gut wie es geht. daher kann ich es nicht nachvollziehen, dass du dich in einem - ich betone es immer wieder - Grundlagenboard so aufführst.
    Wenn du nicht helfen möchtest, weil die Frage zu banal ist, dann halt einfach deinen Mund und lass deine pampigen halbsätze, die haben hier wirklich nichts zu suchen. :thumbdown:
    also ich verstehe den code nicht, gibs da nicht ne einfachere möglichkeit.
    ich will doch einfach nur, ziel = "D:\Test.doc"
    und dann per buttonklick soll ein druckdialog kommen , der standart druckdialog einfach, und dann weiß eh jeder wie es weitergeht.
    also kann mir da jemand helfen, suche schon seit 2 tagen auf google und finde nichts passendes.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hmatrix2“ ()

    Das ist gar nicht so einfach ein Word-Dokument zu drucken, da wirst du wohl auf Microsoft.Office.Interop zurückgreifen müssen:

    builderau.com.au/program/dotne…39028399,339198903,00.htm

    oder das z.B.:
    daniweb.com/software-development/vbnet/code/217127
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    es ist abe so es kann auch eine andere datei sein z.b. .ppt oder .pdf usw.

    jvbsl schrieb:

    Das ist gar nicht so einfach ein Word-Dokument zu drucken, da wirst du wohl auf Microsoft.Office.Interop zurückgreifen müssen:

    Das ist gar nicht so einfach ein Word-Dokument zu drucken, da wirst du wohl auf Microsoft.Office.Interop zurückgreifen müssen:

    http://www.builderau.com.au/program/dotnet/soa/Easily-utilise-Microsoft-Word-functionality-in-your-NET-application/0,339028399,339198903,00.htm

    oder das z.B.:
    [url]http://www.daniweb.com/software-development/vbnet/code/217127
    [/url]
    kurz und klar muß du dich mit VBA ausseinandersetzen, siehe links von jvbsl.
    Was PDF Drucken angeht brauchst DLLs, im netz findest jede menge kostenlose dlls.
    Oder noch einfacher du nimmst mein Beispiel aus dem letzten post, kannst jeder Datei drucken.
    Lieber Programmer85,

    hab ich wirklich verschissenes buch geschrieben? xD
    sry ich dachte das hab ich nur gedacht und was anderes geschrieben...

    ja ich war auch mal anfänger aber mir macht programmiern seit ich damit angefangen habe sehr viel spaß

    ich wal auch mal anfänger (bin immernoch nicht wirklich gut wenn ich mal sehe was für fragen bei den grundlagen kommen)
    aber ich habe NIE im vorum gefragt, nicht weil ich angst vor den antworten hatte, sondern weil bei 6,2 mrd menschen
    immer einer dabei ist der das gleiche problem vorher hatte.
    niemand konnte mir sagen: "kauf dir ein buch" ich hatte eins. am ersten tag als ich angefangen habe wollte ich ein buch, bin in die stadt gefahren hab mir eins gekauft.
    alleine wegen der tollen programmier ideen die man dann versuchen kann und wenn mans nicht hinbekommt nachlesen kann...
    ich brauchte nichtmal einen pc zum programmieren...
    füller und einen block und schon geht es los.
    ausprobieren und ansonsten lösungsansätze aus dem buch oder von google.

    jo war gestern bissl müde... hab mich i-wie bissl aufgeregt.
    in meinem post gestern hab ich ne anspielung auf farming gemacht.
    da sich hmatrix2 bei dir dafür bedankt hat und mir nicht über einen weiteren post zurückgeschrieben hat sehe ich dass das eine fehlvermutung war. entschuldigung für diese aussage.

    in dem punkt dass vb paradise ne gute comunty ist geb ich dir mal recht.

    aber wo ich das grade sehe:
    "ich will doch nur..."
    alleine das regt mich schon wieder auf.
    es ist ein unterschied ob man nur ein struktugramm erstellt oder die syntax angeben muss.

    ich versuch mich in nächster zeit ein wenig zurückzunehmen was solche aussagen betrifft

    @hmatrix2:

    ich wollte dir eigentlisch schon wirklich helfen, war nur gestern bissl zu müde um ne vernünftige antwort zu schreiben.

    ich muss von dir nochmal etwas wissen.
    was möchtest du mit deinem programm machen?
    soll jemand einen text in dein programm tippen und dann drucken? so wie editor?

    versteh das mit doc nicht...
    also:

    hmatrix2 schrieb:

    ziel = "D:\Test.doc"
    möchtest du einen druckerassistenten programmieren? für word?

    also das wäre dann nämlich ein unterschied in der programmierung...

    also zu meinem code:
    PrintDocument findest du in dem werkzeugkasten.
    ist unsichtbar wie z.B. ein timer
    außerdem brauchste noch ein PrintDialog (ebenfalls werkzeugkasten)

    VB.NET-Quellcode

    1. PrintDocument1.Print()

    damit rufst du die funktion drucken auf:

    VB.NET-Quellcode

    1. Private Sub PrintDocument1_PrintPage(ByVal sender As Object, [...]) Handles PrintDocument1.PrintPage
    2. ' das wird ausgeführt wenn du PrintDocument1.Print() ausführst
    3. End Sub


    wenn du jetzt den inhalt einer Multiline Textbox drucken möchtest:
    (es wird nicht wirklich ein text gedruckt, sondern nur zeile für zeile an den drucker geschickt)
    ich versuch es mal so gut wie möglich zu kommentieren:

    VB.NET-Quellcode

    1. Dim XPos, YPos As Single 'Variablendeklaration für abstand von oben und von rechts
    2. Using g As Graphics = e.Graphics
    3. XPos = e.MarginBounds.X + 100 ' dies sind ca die werte um einen text von einer
    4. YPos = e.MarginBounds.Y + 20 ' halben din a 4 seite in der mitte zu positionieren
    5. For Each Zeile As String In txtDrucken.Lines ' ich hoffe dir sagt ne for each schleife was: für jede zeile in txtDrucken
    6. g.DrawString(Zeile, New Font("Courier New", 12), Brushes.Black, XPos, YPos) 'wird gedruckt
    7. YPos += g.MeasureString(Zeile, New Font("Courier New", 12)).Height '"Curiet New" ist die schriftart... kannst auch Arial nehmen oder was du magst
    8. Next ' ende der for each schleife
    9. End Using ' ende der using


    also wenn du meinen Quelltext ausprobieren möchtest:

    Hinzufügen:
    PrintDocument, PrintDialog, textbox, button

    Code: (verstehste hoffentlich größtenteils durch erklärung oben)

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    3. With TextBox1
    4. .Multiline = True
    5. .Dock = DockStyle.Left
    6. End With
    7. Button1.Text = "Drucken"
    8. End Sub
    9. Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
    10. Dim XPos, YPos As Single
    11. Using g As Graphics = e.Graphics
    12. XPos = e.MarginBounds.X + 100
    13. YPos = e.MarginBounds.Y + 20
    14. For Each Zeile As String In TextBox1.Lines
    15. g.DrawString(Zeile, New Font("Courier New", 12), Brushes.Black, XPos, YPos)
    16. YPos += g.MeasureString(Zeile, New Font("Courier New", 12)).Height
    17. Next
    18. End Using
    19. End Sub
    20. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    21. PrintDocument1.Print()
    22. End Sub
    23. End Class


    hab getestet: funzt super

    allerdings benutzt er den standartdrucker...
    ich schau mich mal um ob ich das rausbekomme, dass da ne druckerauswahl kommt

    mfg HeadShotHarp
    so danke ist zwar gut erklärt, danke dafür aber ist nicht wirklich was ich suche!
    habe in zwischen einfach mal den code von SystemUnknow in meine anwendung gesetzt.


    so ich lade mein programm mal hoch, ohne die druckversion.
    Mein programm mach ich für die schule, da unser lehrer alles für physik und chemie auf eine seite läd und wir von da alles holen müssen, aber es nicht geordnet ist und so, habe ich mir gedacht ich mach ein programm was auf die seite geht und alle documente anzeigt, aber gleichzeitig kontroliert, ob ich etwas schon gemacht habe oder nicht!!


    DIE VERSION DIE ICH HOCHLADE HAT NOCH KEINE DRUCKFUNKTION, ich gebe noch einen screenshoot dazu




    So und bei der druckfunktion, wird geprüft ob die datei bereits auf dem pc liegt, wenn ich wird sie runtergeladen.
    und dann sollte ein druckdialog kommen, und den rest kennt jeder aus x beliebigen programmen z.b word 2010/2007




    wenn ich mich umständlich ausgedrückt habe, einfach nachfragen




    HIR DIE DATEI hmatrix2.hm.funpic.de/hmatrix2/anwendung.rar

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hmatrix2“ ()

    Du willst ja wohl nicht alles blind drucken, was dein Lehrer auf die WebSite hochlädt.

    Du möchtest es möglicherweise mit dem passenden Programm anzeigen (quasi als Druckvorschau).
    Das würde ich noch einsehen.
    Aber wenn du schon beim Ansehen im Programm bist, kannst du ja auch gleich die Druckfunktion des Programms (Word, Excel, Powerpoint...) verwenden.

    So jedenfalls würde ich das machen.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Dann starte die Anwendung und veranlasse diese, die Datei zu drucken.
    Die weiss selbst am besten, was zu tun ist.

    VB.NET-Quellcode

    1. Sub PrintFile(fullPath As String)
    2. Dim printProcess = New Process()
    3. printProcess.StartInfo.FileName = fullPath
    4. printProcess.StartInfo.UseShellExecute = True
    5. printProcess.StartInfo.Verb = "print"
    6. printProcess.Start()
    7. End Sub
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    na toll all die arbeit umsonst xD

    also ich würde dir das ehr mit druckvorschau vorschlagen...

    gibt printprewicdialog mach dir druckvorschau...

    und dann brauchste die syntax aber die solltest du rausbekommen...


    mfg HeadShotHarp

    PS: ansonsten nette idee dein programm