无法在使用MigraDoc生成的PDF中显示Circle plus(⊕)

时间:2017-02-08 09:21:07

标签: c# migradoc

生成PDF时,不显示⊕符号,而是显示替换符号而不是它。是否有可能以某种方式解决这个问题?

测试的版本:

  • 1.32
  • 1.5 beta 3

测试的字体:

  • Arial
  • 宋体
  • Lucida Console
  • 索拉

代码

string fileName = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString() + ".pdf");
var doc = new Document();
doc.Styles["Normal"].Font.Name = "Consolas";

doc.AddSection().AddParagraph("A ⊕ B");

var pdfRenderer = new PdfDocumentRenderer(true);
pdfRenderer.Document = doc;
pdfRenderer.RenderDocument();
pdfRenderer.PdfDocument.Save(fileName);

Process.Start(fileName);

2 个答案:

答案 0 :(得分:3)

使用包含“Circled Plus”字符的字体。

您可以使用例如“Segoe UI符号”。 “Segoe UI”不包含该字符。

当使用这些符号时,MS Word会自动切换字体,使用MigraDoc时,您必须根据需要切换字体。

如果您想在文本的其余部分使用“Consolas”,请对Circled Plus使用AddFormattedText并切换为例如此符号的“Segoe UI符号”。

答案 1 :(得分:-2)

尝试替换

doc.AddSection().AddParagraph("A ⊕ B");

使用:

doc.AddSection().AddParagraph("A \u2295 B");