Tiffファイルを表示するためのアプリケーションWebをSilverlightで作成しました。Tiffファイルの絶対URIをSilverlightアプリに送信すると、ファイルが表示/ズームまたはダウンロードされます。
PrintDocumentライブラリを使用してtiffを印刷しましたが、プリンターに送信されるファイルが非常に大きくなっています(100kbのtiffファイルに対して500Mb)。
これが私の印刷用コードです。
Protected Sub pd_PrintPage(ByVal sender As Object, ByVal ev As PrintPageEventArgs)
Try
If (PrintPageCount = 0) Then
PrintPageCount = ImageTiff.NumberOfDirectories
PrintCurrPage = 0
End If
If (PrintCurrPage < PrintPageCount) Then
ImageTiff.SetDirectory(PrintCurrPage)
Dim cnv As New Canvas With
{
.Width = 840,
.Height = 1180,
.Background = New ImageBrush With {
.ImageSource = GetWritableBmp(ImageTiff, larghezza, altezza),
.Stretch = Stretch.Fill
}
}
ev.PageVisual = cnv
PrintCurrPage += 1
ev.HasMorePages = True
Else
ev.HasMorePages = False
End If
Catch ex As Exception
MessageBox.Show("Errore handler:" & ex.Message & vbCrLf & ex.StackTrace)
End Try
End Sub
そして、印刷ボタンのイベントハンドラー
Private Sub ButtonPrint_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles ButtonPrint.Click
Try
Dim pdoc As New PrintDocument()
AddHandler pdoc.PrintPage, AddressOf Me.pd_PrintPage
pdoc.Print(Uri.AbsoluteUri)
Catch ex As Exception
MessageBox.Show("Errore:" & ex.Message)
End Try
End Sub
「 http://www.mysite.it/tifffiles/mytif.tif」の印刷物を直接プリンターに送りたいのですが、可能ですか?