Ausdruck rtf Dateien - Seitenränder ignorieren

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von xsawa.

    Ausdruck rtf Dateien - Seitenränder ignorieren

    Hallo liebe VB Gemeinde!

    Ich möchte rtf Dateien automatisiert ausdrucken, was auch ganz gut klappt, allerdings sind manche dabei, wo die Seitenränder etwas zu groß sind und so müßte immer die Meldung:

    "Die Seitenränder liegen außerhalb des bedruckbaren Bereichs. Soll der Vorgang trotzdem fortgesetzt werden?"

    mit ja bestätigt werden.

    Zur Zeit realisiere ich das Ganze mit folgendem Code:



    Dim Filename As String = "test.rtf"
    Dim p As New System.Diagnostics.Process
    p.StartInfo.FileName = Filename
    p.StartInfo.Verb = "print"
    p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
    p.Start()
    p.WaitForExit()
    p.Close()

    Me.Close()

    Gibt es hier eine Möglichkeit, (vielleicht mit "p.StartInfo.Arguments =") die Seite gleich auf DIN A4 zu skalieren, so wie man das im Druckerdialog machen kann?
    Oder habt ihr ev. eine andere Lösung für mein Problem?

    Vielen Dank im Voraus,
    Andi
    Mach die Druck-Routine selbst: RTB drucken, da kannst Du alles so machen, wie es Dir beliebt.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Zum Einfügen von Bildern in RTB gibt es hier mehrere Threads.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Stimmt, du hast recht, aber gibt es nicht dennoch eine Möglichkeit, die bereits vorliegenden rtf Dateien einfach auszudrucken und die Seitenränder zu ignorieren?

    Eine Möglichkeit wäre die hier, aber hier kann ich den Drucker nicht auswählen und den Standarddrucker vorher zu ändern möchte ich auch nicht:


    Dim wordapp As ApplicationClass = New ApplicationClass()
    Dim n As Object = System.Reflection.Missing.Value
    Dim o0 As Object = System.Windows.Forms.Application.StartupPath + "\test.rtf"

    If wordapp Is Nothing Then
    MessageBox.Show("Konnte keine Verbindung zu Word herstellen!")
    Return
    End If

    wordapp.Visible = False
    wordapp.Documents.Open(o0)

    wordapp.PrintOut(Background:=True, Range:=WdPrintOutRange.wdPrintAllDocument, _
    Copies:=1, PageType:=WdPrintOutPages.wdPrintAllPages, _
    PrintToFile:=False, Collate:=False, ManualDuplexPrint:=False, _
    PrintZoomColumn:=1, PrintZoomRow:=1, PrintZoomPaperWidth:=11906, PrintZoomPaperHeight:=16839) 'hier wird auf DIN A4 skaliert

    wordapp.Documents.Close()
    wordapp.Quit()

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „xsawa“ ()

    Tut mir Leid, da kann ich Dir leider nicht helfen. ;(
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!