FlowDokument, PrintDialog

  • WPF
  • .NET 9

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Thomas2705.

    FlowDokument, PrintDialog

    Es werden durch

    XML-Quellcode

    1. <FlowDocumentPageViewer ...>
    2. <FlowDocument Name="FlowDocument1"...>


    Inhalte dargestellt. Ein Ausdruck erfolgt durch

    VB.NET-Quellcode

    1. Dim MyPrintDialog As New PrintDialog
    2. Dim MyFlowDokument = Me.FlowDocument1
    3. Dim MyIDPSource As IDocumentPaginatorSource = MyFlowDokument
    4. If MyPrintDialog.ShowDialog Then
    5. MyPrintDialog.PrintTicket.PageOrientation = System.Printing.PageOrientation.ReverseLandscape
    6. MyPrintDialog.PrintDocument(MyIDPSource.DocumentPaginator, "Druckauftrag")
    7. End If


    Es gibt zwei Probleme:
    1. Beim Zoomen des Flowdokument1 wird nicht der gesamte Bereich des Flowdokument1 ausgedruckt sondern nur der im Zoom angezeigte Bereich. Es soll aber unabhängig vom Zoom der gesamte Bereich des FlowDokument1 gedruckt werden.
    2. Im PrintDialog soll bei der Ausgabe des zu druckenden Dokumentes z.B. als PDF "Druckauftrag" als Dateibezeichnung vergeben werden. Es wird aber tatsächlich keine Dateibezeichnung erstellt.
    @Thomas2705 Bei WinForm musst Du, um einen PDF-Dateinamen zu erzeugen,

    VB.NET-Quellcode

    1. dlg.Document.PrinterSettings.PrintToFile = True
    setzen.
    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!