3

C#のPDFSharpで漢字を表示するのに問題があります。PDF文字列を作成するプロセス中は問題ありませんが、PDFファイルを作成した後は表示されません。私は1つの解決策を見つけました

XFont font_small2 = new XFont("微软雅黑", 9, XFontStyle.Regular, options)

このソリューションはローカルホストで機能しますが、ベータサーバーでこれをリリースすると、漢字が表示されません。

4

3 に答える 3

0

フォントがベータ サーバーに正しくインストールされていることを確認し、アプリケーションに十分な権限があることを確認してください。フォントが PDF ファイルに埋め込まれていることを確認します。

PDFsharp FAQ によると、CJK フォントはサポートされていません。ただし、環境が正しく設定されていれば、サーバーとローカル コンピューターで同じ結果が得られるはずです。

于 2013-02-07T08:55:01.313 に答える
0

どちらのソリューションも新しいバージョンの lib では機能しなかったため、ビットマップに文字を描画してからビットマップを PDF に追加するという回避策を思い付きました。

        Font font = GetFont(fieldInfo, fontSize * 0.97f); // Chosen empirically
        using (var imageStream = new MemoryStream())
        {
            // Draw string as an image
            using (var bitmap = new Bitmap((int) fieldRect.Width, (int) (fieldRect.Height * 1.5f)))
            using (Graphics graphics = Graphics.FromImage(bitmap))
            {
                graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
                graphics.DrawString(fieldValue, font, Brushes.Black, PointF.Empty);
                bitmap.Save(imageStream, ImageFormat.Png);
            }

            // Draw image on PDF
            using (XImage xImage = XImage.FromStream(imageStream))
            {
                double labelPositionX = fieldRect.X1 + 2;
                double labelPositionY = fieldRect.Y2 - 2;
                xGraphics.DrawImage(xImage, labelPositionX, page.Height - labelPositionY);
            }
        }
于 2019-12-16T15:53:27.697 に答える