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.
-
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
-
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
-
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
-
Betsy.jiang
-
- Posts: 3099
- Joined: Tue Sep 06, 2016 8:30 am