我在.net wpf中有一個要求。 部分圖像格式爲.gif或.jpg在本地文件夾中。 我已經準備了一個字符串列表,用於存儲文件名稱 我希望將按列表中的所有圖像發送到打印機。發送多個文檔到打印機
我已經搜索了Google,但對於Print文檔,我們只能給出一個文件PrintFileName。
但我想爲每個循環給每個文件名。任何人都可以解釋它怎麼可能?
謝謝..
我在.net wpf中有一個要求。 部分圖像格式爲.gif或.jpg在本地文件夾中。 我已經準備了一個字符串列表,用於存儲文件名稱 我希望將按列表中的所有圖像發送到打印機。發送多個文檔到打印機
我已經搜索了Google,但對於Print文檔,我們只能給出一個文件PrintFileName。
但我想爲每個循環給每個文件名。任何人都可以解釋它怎麼可能?
謝謝..
問題主題是看起來像錯誤的... 的答案;
var filenames = Directory.EnumerateFiles(@"c:\targetImagePath", "*.*", SearchOption.AllDirectories)
.Where(s => s.EndsWith(".gif") || s.EndsWith(".jpg") || s.EndsWith(".bmp"));
foreach (var filename in filenames)
{
//use filename
}
嗨,謝謝你的回覆。 – PullaReddy
在我的要求中只有第一次printpreviewdialog應該打開並預覽所有files.is有可能性發送更多的文件printDocument在一次 – PullaReddy
是的。你可以使用IDocumentPaginatorSource來打印它們。但所有文件都會添加到一個文檔中並逐頁打印。 http://code.msdn.microsoft.com/windowsdesktop/WPF-Printing-Overview-f28c541a –
Private Sub btnPrint_Click(sender As Object, e As RoutedEventArgs) Handles btnPrint.Click
Dim printDialog = New System.Windows.Controls.PrintDialog()
If printDialog.ShowDialog = False Then
Return
End If
Dim fixedDocument = New FixedDocument()
fixedDocument.DocumentPaginator.PageSize = New System.Windows.Size(printDialog.PrintableAreaWidth, printDialog.PrintableAreaHeight)
For Each p In _lablefilenames
Dim page As New FixedPage()
Dim info As System.IO.FileInfo = New FileInfo(p)
'If info.Extension.ToLower = ".gif" Then
' page.Width = fixedDocument.DocumentPaginator.PageSize.Height
' page.Height = fixedDocument.DocumentPaginator.PageSize.Width
'Else
page.Width = fixedDocument.DocumentPaginator.PageSize.Width
page.Height = fixedDocument.DocumentPaginator.PageSize.Height
'End If
Dim img As New System.Windows.Controls.Image()
' PrintIt my project's name, Img folder
'Dim uriImageSource = New Uri(p, UriKind.RelativeOrAbsolute)
'img.Source = New BitmapImage(uriImageSource)
Dim Bimage As New BitmapImage()
Bimage.BeginInit()
Bimage.CacheOption = BitmapCacheOption.OnLoad
Bimage.UriSource = New Uri(p)
If info.Extension.ToLower = ".gif" Then Bimage.Rotation += Rotation.Rotate90
Bimage.EndInit()
'img.Width = 100
'img.Height = 100
img.Source = Bimage
page.Children.Add(img)
Dim pageContent As New PageContent()
DirectCast(pageContent, IAddChild).AddChild(page)
fixedDocument.Pages.Add(pageContent)
Next
' Print me an image please!
printDialog.PrintDocument(fixedDocument.DocumentPaginator, "Print")
End Sub
我想你想的所有圖像PrintDocument的結合和發送的PrintDocument到打印機嗎? – User999999