2017-12-30 35 views
0

Ich versuche, den Inhalt einer Combobox zu Text in PDFsharp zum Drucken zu konvertieren. Leider werden alle "✓" zu "?". Ich habe versucht, Unicode zu verwenden, aber nichts ändert sich.PDFsharp Nicht erkannte Zeichen Anzeige als "?"

Hier ist was ich verwende;

For Each cbx In Crt.Controls.OfType(Of ComboBox) 
     If cbx.Visible = True Then 
      Using Gra As XGraphics = XGraphics.FromPdfPage(Pg(Doc.PageCount - 1)) 
       Dim tf As Layout.XTextFormatter = New Layout.XTextFormatter(Gra) 
       Dim x = cbx.Location.X * WScale 
       Dim y = cbx.Location.Y * HScale 
       Dim w = cbx.Width * WScale 
       Dim h = cbx.Height * HScale 
       Dim Brush As XBrush = New XSolidBrush(XColor.FromArgb(cbx.BackColor.ToArgb)) 
       Dim xrect As New XRect(x, y, w, h) 
       Gra.DrawRectangle(Brush, xrect) 
       Dim options As XPdfFontOptions = New XPdfFontOptions(PdfFontEncoding.Unicode, PdfFontEmbedding.Always) 
       Dim xFt As New XFont("Times New Roman", 7, XFontStyle.Regular, options) 
       tf.Alignment = Drawing.Layout.XParagraphAlignment.Justify 
       tf.DrawString(cbx.Text, xFt, XBrushes.Black, xrect, XStringFormats.TopLeft) 
      End Using 
     End If 
    Next 

Antwort

0

Das Zeichen "✓" ist wahrscheinlich nicht in der Schriftart "Times New Roman" enthalten und wird deshalb nicht angezeigt.

Verwenden Sie nur Zeichen, die in "Times New Roman" enthalten sind, oder verwenden Sie eine geeignete Schriftart, wenn Sie "✓" benötigen.

+0

Ich habe versucht, es von "Times New Roman" zu "Microsoft Sans Serif" zu ändern, welches die Schriftart ist, auf der das Häkchen angezeigt wird. Ich habe auch mehrere andere Schriftarten ausprobiert und nichts funktioniert. Stattdessen die? wird eine Box – Kimberly

+0

Das Häkchen, das Sie hier gepostet haben (Unicode 2713) erscheint in "Segoe UI Symbol", aber nicht in "Times New Roman" und nicht in "MS Sans Serif". Ich habe keine "Microsoft Sans Serif" auf meinem Computer. –

Verwandte Themen