David David - 4 years ago 364
C# Question

Japanese characters with MigraDoc/PDFsharp

I'm using MigraDoc for generating PDF documents, on my local machine. Japanese characters are not displayed properly.

I'm using the instructions below to generate the document with Unicode.

var document = new MigraDoc.DocumentObjectModel.Document();
//Du stuff...
PdfDocumentRenderer renderer = new PdfDocumentRenderer(true, PdfSharp.Pdf.PdfFontEmbedding.Always);
renderer.Document = document;

This works well for some non ASCII characters (accentuated letters), but not with Japanese characters.

From the examples on PDFsharp's website, I think I'm supposed to use a PdfDocument (and not a Migradoc document) objects, add pages to that document, and fill pages with Migradoc objects


However, I already have a complex, multipage document structure created with Migradoc; so I'd like to be able to just reuse it as it is (e.g. include it in one go into a PdfDocument)

Any idea?


Answer Source

This seems to do the trick

document.Styles[StyleNames.Normal].Font.Name = "Arial Unicode MS";

It is also possible to embed fonts in the PDF document, to make sure everybody can read it

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download