2

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」の印刷物を直接プリンターに送りたいのですが、可能ですか?

4

1 に答える 1

1

Silverlight 4 以降では、Microsoft はドキュメントの印刷のサポートを拡張しました。http://msdn.microsoft.com/en-us/library/ee671023(v=VS.95).aspxを参照してください。TIFF を XAML ドキュメントまたはビットマップに変換できる場合は、プロセスが簡単になる可能性があります。

于 2013-04-24T19:25:18.527 に答える