2017-08-29 4 views
1

私たちは、SSRSをダウンストリームクライアントは二つのアプリケーション、1コンソールおよび第二のWinFormsアプリケーションに報告しています。コンソールアプリケーションは自動的にユーザーの最新のレポートを生成し、同じレポートをデフォルトの選択されたプリンタに自動印刷するオプションを持っています。レポートをPDFにエクスポートするときにレポートが完璧に見えるが、レポートを自動印刷するとき、テキストのサイズがわずかに縮小し得るように思われる、テキストの間隔が減少し、及び配置のいくつかは、自動生成されたPDFに比べて変化します。SSRSレポートは、画像と印刷さdoesntのマッチPDFエクスポートとしてストリーミング

レポートが自動印刷されると、レポートとしてイメージをストリームとして出力し、次にカスタムのPrintPageメソッドを作成して矩形を作成し、矩形内にイメージを設定してイメージを印刷して送信します(下のコードを参照)。

private void PrintPage(object sender, PrintPageEventArgs ev) 
    { 

     var pageImage = new Metafile(_mStreams[_currentPageIndex]); 

     // Adjust rectangular area with printer margins. 
     var adjustedRect = new Rectangle(
      ev.PageBounds.Left - (int)ev.PageSettings.HardMarginX, 
      ev.PageBounds.Top - (int)ev.PageSettings.HardMarginY, 
      ev.PageBounds.Width, 
      ev.PageBounds.Height); 

     // Draw a white background for the report 
     ev.Graphics.FillRectangle(Brushes.White, adjustedRect); 

     // Draw the report content 
     ev.Graphics.DrawImage(pageImage, adjustedRect); 

     // Prepare for the next page. Make sure we haven't hit the end. 
     _currentPageIndex++; 
     ev.HasMorePages = (_currentPageIndex < _mStreams.Count); 

    } 

余白とページのマッチアップのサイジング処理が完了しているが、明らかにテキストが自動印刷されたコピーに表示されている方法に違いがあります。以下は、2つのレポートのスクリーンショットです。テキストの一部の配置と配置は、自動生成されたPDFレポートから少し変化しています。この問題は、自動生成されたPDFにイメージエクスポートよりもページ数が多い50ページ以上のドキュメントがある場合に、レポートに多くの影響を与えます。

Auto Generated Screen Shot

Auto Printed Screen Shot

これですべてのヘルプは大歓迎です

は、ありがとうございます。

答えて

0

だから私は、自動印刷に最近生成されたレポートをアドビを使用しての賛成で古い印刷機能を削って働くことを戻りました。私の問題の要点は、レポートをSSRSからのイメージとして再エクスポートすることに関係していました。これにより、すべての書式とスタイルがその書式に合わせて調整されました。

関連する問題