【PDF】 PDF出力時、セル内の文字が途中で見切れてしまう場合がある

文書番号 : 37599     文書種別 : 不具合     登録日 : 2014/10/03     最終更新日 : 2015/03/31
文書を印刷する
対象製品
SPREAD for ASP.NET 7.0J
状況
修正済み
詳細
PDF出力時、セル内の文字が途中で見切れてしまう場合があります。

【再現手順】
1.新規 Web フォームに SPREAD と標準のボタンコントロールをを用意する
2.下記の再現コードを貼り付け、Web ページを起動しボタンを押下する
-- 出力されたPDF内にあるセルについて、文字列が最後まで描画されない(もしくは最後まで見えない)

【再現コード】
---------------------------------
Webフォームクラス
---------------------------------
  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Page.IsPostBack Then
      Return
    End If

    ' 文字列欠落テスト用の設定
    Dim tCell As New FarPoint.Web.Spread.TextCellType()
    FpSpread1.ActiveSheetView.Columns(0).CellType = tCell
    FpSpread1.ActiveSheetView.Columns(0).Font.Size = FontUnit.Point(10)
    FpSpread1.ActiveSheetView.PrintInfo.ZoomFactor = 0.4F
    Dim test1 As String = "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789A"
    FpSpread1.ActiveSheetView.SetValue(0, 0, test1)
  End Sub

  Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    FpSpread1.SavePdfToResponse("test.pdf")
  End Sub
回避方法
Service Pack 3(v7.0.4017.2010)で修正済み。
Service Pack 3(v7.0.4017.2010)より前のバージョンでは次の回避方法が有効です。
------------------------------------------

該当行の高さを余裕をもった値に設定します。

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Page.IsPostBack Then
      Return
    End If

    ' 文字列欠落テスト用の設定
    Dim tCell As New FarPoint.Web.Spread.TextCellType()
    FpSpread1.ActiveSheetView.Columns(0).CellType = tCell
    FpSpread1.ActiveSheetView.Columns(0).Font.Size = FontUnit.Point(10)
    FpSpread1.ActiveSheetView.PrintInfo.ZoomFactor = 0.4F
    Dim test1 As String = "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789A"
    FpSpread1.ActiveSheetView.SetValue(0, 0, test1)
    FpSpread1.ActiveSheetView.Rows(0).Height = 500 '【回避策】余裕をもった高さを設定します

  End Sub

  Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    FpSpread1.SavePdfToResponse("test.pdf")
  End Sub