I Should Got soluzione può essere utile a voi ............................
Per prima cosa ho creato un nuovo PrintDocument e ho collegato alcuni gestori per l'evento PrintPage.
mobjPrintDocument = New PrintDocument
RemoveHandler mobjPrintDocument.PrintPage, AddressOf Print_Report
AddHandler mobjPrintDocument.PrintPage, AddressOf Print_Report
Quindi è possibile chiamare la funzione PrintBitmap su PrintDocument ogni volta che si desidera stampare. Qui lo sto facendo quando l'utente fa clic sul pulsante Stampa.
Private Sub xbtnPrint_Click(sender As System.Object, e As System.Windows.RoutedEventArgs)
mintPageIndex = 0
mobjPrintDocument.PrintBitmap(FileName)
End Sub
Ora arriva la parte importante. Possiamo dirottare il contenuto preso di mira dall'aggancio all'evento PrintPage (come descritto sopra). Posso impostare e.PageVisual su qualsiasi elemento xaml visivo e PrintBitmap lo gestirà. Qui utilizzo la funzione GetPages e cerco di stampare ogni pagina (un elemento pdfviewer). Tuttavia, puoi puntarlo su qualsiasi elemento visivo come ho detto.
Private Sub Print_Report(sender As System.Object, e As PrintPageEventArgs)
e.PageVisual = xobjReportViewer.GetPages(mintPageIndex)
mintPageIndex += 1
e.HasMorePages = mintPageIndex < xobjReportViewer.GetPages.Count
End Sub
Il e.HasMorePages consente di forzare lo sparo di questo evento fino al termine.
Spero che questo sia utile a qualcuno. Con Silverlight 5 e il supporto per la stampante PostScript, molte stampanti che hanno un emulatore PostScript potrebbero non essere compatibili, ma non verranno utilizzate anche per la stampa bitmap. Questa soluzione alternativa risolve il problema, rendendo la stampa un po 'più stabile in un'applicazione di tipo LOB.
fonte
2013-01-30 05:25:24
Qual è il tuo motore di segnalazione? C'è qualche Telerik di terze parti, Devart ecc. Che ne pensi di In anteprima va bene? Non abbiamo affrontato, ma grazie per la tua parte. –
La pagina stampata ha controlli standard. Riteniamo che sia un problema con il driver della stampante. –
Quindi, quando si stampa su stampanti XPS o stampanti PDF virtuali. Se sono ok, potrebbe essere un problema di driver. –