Spire.PDF is a professional PDF library applied to creating, writing, editing, handling and reading PDF files without any external dependencies. Get free and professional technical support for Spire.PDF for .NET, Java, Android, C++, Python.

Wed Oct 11, 2017 6:53 am

Code: Select all
 

             var result = _IDownManageService.DownAllTicketPdf(condition);

            PdfDocument doc = new PdfDocument();
            PdfPageBase page = doc.Pages.Add();

            page.Canvas.DrawString("订单日期:",
            new PdfFont(PdfFontFamily.TimesRoman, 20f),
            new PdfSolidBrush(Color.Black), 10, 10);

           
            page.Canvas.DrawString(result.DocumentNumber,
            new PdfFont(PdfFontFamily.TimesRoman, 20f),
            new PdfSolidBrush(Color.Black), 50, 10);
 
            MemoryStream stream = new MemoryStream();
            doc.SaveToStream(stream);
            doc.Close();

               


用DrawString方法输出中文 结果出来的是乱码,请问要怎么更改呢?
整个出来的效果应该是上面是文字,下面是图片。图片已经可以显示了,但是上面的文字却是乱码。

Saunterer
 
Posts: 16
Joined: Wed Oct 11, 2017 6:37 am

Wed Oct 11, 2017 7:33 am

您好,

感谢咨询。
在画中文的时候,如果选用的字体不支持画中文,就会显示乱码。请使用 PdfCjkStandardFont中的SinoTypeSongLight画简体中文。
Code: Select all
            PdfCjkStandardFont font = new PdfCjkStandardFont(PdfCjkFontFamily.SinoTypeSongLight, 12f);
            page.Canvas.DrawString("订单日期:", font, new PdfSolidBrush(Color.Black), 10, 10);

如果还有任何疑问,请随时与我们联系。

Sincerely,
Betsy
E-iceblue support team
Last edited by Betsy.jiang on Wed Oct 11, 2017 8:24 am, edited 1 time in total.
User avatar

Betsy.jiang
 
Posts: 3099
Joined: Tue Sep 06, 2016 8:30 am

Wed Oct 11, 2017 8:23 am

Betsy.jiang wrote:您好,

感谢咨询。
在画中文的时候,我们建议使用 PdfCjkStandardFont中的SinoTypeSongLight。
Code: Select all
            PdfCjkStandardFont font = new PdfCjkStandardFont(PdfCjkFontFamily.SinoTypeSongLight, 12f);
            page.Canvas.DrawString("订单日期:", font, new PdfSolidBrush(Color.Black), 10, 10);

如果还有任何疑问,请随时与我们联系。

Sincerely,
Betsy
E-iceblue support team



还有一个想要显示中文标题居中 应选用哪个来写?

Saunterer
 
Posts: 16
Joined: Wed Oct 11, 2017 6:37 am

Wed Oct 11, 2017 8:35 am

您好,

请修改x的位置,并且设置PdfStringFormat为居中,参考代码:
Code: Select all
            page.Canvas.DrawString("订单日期:",
            font,
            new PdfSolidBrush(Color.Black), page.Canvas.ClientSize.Width / 2, 10, new PdfStringFormat(PdfTextAlignment.Center));


Sincerely,
Betsy
E-iceblue support team
User avatar

Betsy.jiang
 
Posts: 3099
Joined: Tue Sep 06, 2016 8:30 am

Wed Oct 11, 2017 8:56 am

Betsy.jiang wrote:您好,

请修改x的位置,并且设置PdfStringFormat为居中,参考代码:
Code: Select all
            page.Canvas.DrawString("订单日期:",
            font,
            new PdfSolidBrush(Color.Black), page.Canvas.ClientSize.Width / 2, 10, new PdfStringFormat(PdfTextAlignment.Center));


Sincerely,
Betsy
E-iceblue support team

加粗是哪个?

Saunterer
 
Posts: 16
Joined: Wed Oct 11, 2017 6:37 am

Wed Oct 11, 2017 8:57 am

Betsy.jiang wrote:您好,

请修改x的位置,并且设置PdfStringFormat为居中,参考代码:
Code: Select all
            page.Canvas.DrawString("订单日期:",
            font,
            new PdfSolidBrush(Color.Black), page.Canvas.ClientSize.Width / 2, 10, new PdfStringFormat(PdfTextAlignment.Center));


Sincerely,
Betsy
E-iceblue support team

加粗是哪个?字体大点

Saunterer
 
Posts: 16
Joined: Wed Oct 11, 2017 6:37 am

Wed Oct 11, 2017 9:38 am

您好,

请使用PdfCjkStandardFont里的重载方法,参考代码:
Code: Select all
            PdfCjkStandardFont font = new PdfCjkStandardFont(PdfCjkFontFamily.SinoTypeSongLight, 15f,PdfFontStyle.Bold);


Sincerely,
Betsy
E-iceblue support team
User avatar

Betsy.jiang
 
Posts: 3099
Joined: Tue Sep 06, 2016 8:30 am

Wed Oct 18, 2017 7:09 am

您好,

请问问题解决了吗?
能否给我们一些反馈呢?

Thanks,
Betsy
E-iceblue support team
User avatar

Betsy.jiang
 
Posts: 3099
Joined: Tue Sep 06, 2016 8:30 am

Return to Spire.PDF

cron