4

開発マシンにインストールしたいくつかのカスタム フォントを使用する Webforms.LocalReport を介して作成された RDLC レポートがあります。これはうまく機能し、フォントを PDF に埋め込むので、他のユーザーは表示するためにフォントをインストールする必要がありません。

私の問題は、実稼働環境に展開するときに、レポートを実行できるマシンが多数あることです。「潜在的な」マシンごとにフォントをインストールする必要はありません-(.TTF)フォントファイルを(VB.NET)ソリューションに添付し、フォントをここから取得する方法はありますか?ローカルマシンから?

これが理にかなっていることを願っています!!

それが役立つ場合、以下は私が使用しているコードのサンプルです

    Dim PDFfile As FileInfo
    Dim deviceInfo As String = String.Empty
    Dim PDF() As Byte
    Dim reportParams As List(Of ReportParameter)

    Using report As New LocalReport

        ' Set up report
        ' Report device information to create PDF with A4 sized pages
        deviceInfo = "<DeviceInfo>" & _
                     "  <OutputFormat>EMF</OutputFormat>" & _
                     "  <Orientation>Portrait</Orientation>" & _
                     "  <PageWidth>21cm</PageWidth>" & _
                     "  <PageHeight>29.7cm</PageHeight>" & _
                     "  <MarginTop>0cm</MarginTop>" & _
                     "  <MarginLeft>0cm</MarginLeft>" & _
                     "  <MarginRight>0cm</MarginRight>" & _
                     "  <MarginBottom>0cm</MarginBottom>" & _
                     "</DeviceInfo>"
        With report
            .DisplayName = "Display Name"
            report.ReportEmbeddedResource = "ReportName.rdlc"

            ' Add all necessary parameters
            reportParams = New List(Of ReportParameter)
            reportParams.Add(...)

            .SetParameters(reportParams)
        End With

        PDF = report.Render("PDF", deviceInfo)
        PDFfile = New FileInfo("C:\")

        Using stream As FileStream = PDFfile.Create
            stream.Write(PDF, 0, PDF.Length)
        End Using
    End Using

前もって感謝します!

4

1 に答える 1