お世話になります。
同一のRapidReportのレイアウトファイルで
同一データのレポート出力を行いました。
1 PDF出力
2 直接プリンタ出力
VB.Netのコーディングを行い、印刷物を確認したところ、
折り返し出力にしてあるフィールド(1行全角55文字が入るように広げたエリア(モックで確認))で
以下の出力差異が出ました。
1 PDF出力では、
1行に全角55文字が出力され、56以降は2行目へ出力
2 直接プリンタ出力では、
1行に全角54文字が出力され、55以降は2行目へ出力
ちなみに、コーディングは以下の通りです。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
'レポート設定
Dim report As New Report(Json.Read(rptFileName))
report.Fill(New ReportDataSource(objMainTbl), dataProvider)
'ページ設定
Dim pages As ReportPages = report.GetPages()
'PDF出力コーディング ▼▼▼
' PDF出力
Using fs As New FileStream("bbb.pdf", IO.FileMode.Create)
Dim setting As PdfRendererSetting = New PdfRendererSetting()
Dim sWinDir As String = System.Environment.GetEnvironmentVariable("windir")
setting.FontMap("gothic") = iTextSharp.text.pdf.BaseFont.CreateFont(sWinDir & "\Fonts\msgothic.ttc,0", _
iTextSharp.text.pdf.BaseFont.IDENTITY_H, _
iTextSharp.text.pdf.BaseFont.EMBEDDED)
setting.FontMap("mincho") = iTextSharp.text.pdf.BaseFont.CreateFont(sWinDir & "\Fonts\msmincho.ttc,0", _
iTextSharp.text.pdf.BaseFont.IDENTITY_H, _
iTextSharp.text.pdf.BaseFont.EMBEDDED)
Dim renderer As New PdfRenderer(fs, setting)
'バックスラッシュ文字を円マーク文字に変換します
renderer.Setting.ReplaceBackslashToYen = True
pages.Render(renderer)
End Using
'PDF出力コーディング ▲▲▲
'直接印刷コーディング ▼▼▼
'出力プリンタ設定
pages.Report.Design.PrinterName = strPrinter
Dim setting As New GdiRendererSetting
setting.FontMap.Remove("gothic")
setting.FontMap.Remove("mincho")
setting.FontMap.Add("gothic", "MS ゴシック")
setting.FontMap.Add("mincho", "MS 明朝")
'プリント設定
Dim printer1 As New Printer(pages, setting)
'レポートページの出力
printer1.PrintDocument.Print()
''直接印刷コーディング ▲▲▲
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
FONTが影響していると考えて、上記のコーディングを行っていますが、
どうしても、全く同じ出力物になりません。何か誤りがありますでしょうか?