作成日: 2020/01/06 最終更新日: 2021/02/26
文書種別
不具合
状況
修正済み
詳細
PrintInfoクラスのStartPageプロパティに2以降を指定して物理プリンタで印刷すると、シートの左上の余白が1ページ目を印刷した時より広がり、印刷位置が右下にずれます。
【再現手順】
1.新規作成したプロジェクトにFpSpreadとボタン2つを貼り付けます。
2.下記のサンプルコードを記述します。
3.プロジェクトを実行します。
4.ボタンをそれぞれ押下し、1ページ目と2ページ目を別々に印刷します。
----1ページ目の印刷開始位置と2ページ目の印刷開始位置がずれてしまう。
■サンプルコード(VB.NET)
【再現手順】
1.新規作成したプロジェクトにFpSpreadとボタン2つを貼り付けます。
2.下記のサンプルコードを記述します。
3.プロジェクトを実行します。
4.ボタンをそれぞれ押下し、1ページ目と2ページ目を別々に印刷します。
----1ページ目の印刷開始位置と2ページ目の印刷開始位置がずれてしまう。
■サンプルコード(VB.NET)
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.FpSpread1.ActiveSheet.RowCount = 200
Me.FpSpread1.ActiveSheet.ColumnCount = 6
Me.FpSpread1.ActiveSheet.Rows.Default.Height = 16
Me.FpSpread1.ActiveSheet.Columns.Default.Width = 80
For i As Integer = 0 To Me.FpSpread1.ActiveSheet.RowCount - 1
For j As Integer = 0 To Me.FpSpread1.ActiveSheet.ColumnCount - 1
Me.FpSpread1.ActiveSheet.SetValue(i, j, String.Format("{0}:{1}", i, j))
Next
Next
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim pd As New System.Drawing.Printing.PrintDocument
Me.FpSpread1.ActiveSheet.PrintInfo = New FarPoint.Win.Spread.PrintInfo
Me.FpSpread1.ActiveSheet.PrintInfo.Header = "/fn""MS ゴシック""/fz""12""/p ページ"
Me.FpSpread1.ActiveSheet.PrintInfo.PrintType = FarPoint.Win.Spread.PrintType.PageRange
Me.FpSpread1.ActiveSheet.PrintInfo.Margin = New FarPoint.Win.Spread.PrintMargin(100, 100, 0, 0, 0, 0)
Me.FpSpread1.ActiveSheet.PrintInfo.PageStart = 1
Me.FpSpread1.ActiveSheet.PrintInfo.PageEnd = 1
Me.FpSpread1.ActiveSheet.PrintInfo.JobName = "1ページ目(指定)"
Me.FpSpread1.PrintSheet(Me.FpSpread1.ActiveSheet)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim pd As New System.Drawing.Printing.PrintDocument
Me.FpSpread1.ActiveSheet.PrintInfo = New FarPoint.Win.Spread.PrintInfo
Me.FpSpread1.ActiveSheet.PrintInfo.Header = "/fn""MS ゴシック""/fz""12""/p ページ"
Me.FpSpread1.ActiveSheet.PrintInfo.PrintType = FarPoint.Win.Spread.PrintType.PageRange
Me.FpSpread1.ActiveSheet.PrintInfo.Margin = New FarPoint.Win.Spread.PrintMargin(100, 100, 0, 0, 0, 0)
Me.FpSpread1.ActiveSheet.PrintInfo.PageStart = 2
Me.FpSpread1.ActiveSheet.PrintInfo.PageEnd = 2
Me.FpSpread1.ActiveSheet.PrintInfo.JobName = "2ページ目(指定)"
Me.FpSpread1.PrintSheet(Me.FpSpread1.ActiveSheet)
End Sub
End Class
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.FpSpread1.ActiveSheet.RowCount = 200
Me.FpSpread1.ActiveSheet.ColumnCount = 6
Me.FpSpread1.ActiveSheet.Rows.Default.Height = 16
Me.FpSpread1.ActiveSheet.Columns.Default.Width = 80
For i As Integer = 0 To Me.FpSpread1.ActiveSheet.RowCount - 1
For j As Integer = 0 To Me.FpSpread1.ActiveSheet.ColumnCount - 1
Me.FpSpread1.ActiveSheet.SetValue(i, j, String.Format("{0}:{1}", i, j))
Next
Next
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim pd As New System.Drawing.Printing.PrintDocument
Me.FpSpread1.ActiveSheet.PrintInfo = New FarPoint.Win.Spread.PrintInfo
Me.FpSpread1.ActiveSheet.PrintInfo.Header = "/fn""MS ゴシック""/fz""12""/p ページ"
Me.FpSpread1.ActiveSheet.PrintInfo.PrintType = FarPoint.Win.Spread.PrintType.PageRange
Me.FpSpread1.ActiveSheet.PrintInfo.Margin = New FarPoint.Win.Spread.PrintMargin(100, 100, 0, 0, 0, 0)
Me.FpSpread1.ActiveSheet.PrintInfo.PageStart = 1
Me.FpSpread1.ActiveSheet.PrintInfo.PageEnd = 1
Me.FpSpread1.ActiveSheet.PrintInfo.JobName = "1ページ目(指定)"
Me.FpSpread1.PrintSheet(Me.FpSpread1.ActiveSheet)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim pd As New System.Drawing.Printing.PrintDocument
Me.FpSpread1.ActiveSheet.PrintInfo = New FarPoint.Win.Spread.PrintInfo
Me.FpSpread1.ActiveSheet.PrintInfo.Header = "/fn""MS ゴシック""/fz""12""/p ページ"
Me.FpSpread1.ActiveSheet.PrintInfo.PrintType = FarPoint.Win.Spread.PrintType.PageRange
Me.FpSpread1.ActiveSheet.PrintInfo.Margin = New FarPoint.Win.Spread.PrintMargin(100, 100, 0, 0, 0, 0)
Me.FpSpread1.ActiveSheet.PrintInfo.PageStart = 2
Me.FpSpread1.ActiveSheet.PrintInfo.PageEnd = 2
Me.FpSpread1.ActiveSheet.PrintInfo.JobName = "2ページ目(指定)"
Me.FpSpread1.PrintSheet(Me.FpSpread1.ActiveSheet)
End Sub
End Class
回避方法
Service Pack 5(v10.0.4009.2012)で修正済み。
旧文書番号
84794