插入货币符号,itextSharp

时间:2017-04-10 22:04:15

标签: c# itext

如何插入此货币符号:"₡"到pdf,使用 itextSharp 5.5.10

这就是我所拥有的:

// counter for operations get started
int operationNumber = 0;
// counter for operations get done
int doneNumber = 0;
...
var currentOperationNumber = Interlocked.Increment(ref operationNumber);
...
while (Interlocked.CompareExchange(ref doneNumber, currentOperationNumber + 1, currentOperationNumber) != currentOperationNumber)
{
    // spin once here
}
// handle event
Interlocked.Increment(ref doneNumber);

我能够获得符号但是。当我想在pdf中插入符号时,它不起作用。 我是这样做的:

string fontpath = "C:\\Users\\PC\\Desktop\\";

var font = BaseFont.CreateFont(fontpath + "arial.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

iTextSharp.text.Font fontArial = new iTextSharp.text.Font(font, 8);

string Colones = new Chunk("\u20A1", fontArial).ToString();

我不知道自己做错了什么。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我认为这可能是一个字体问题。如果iText检测到您正在使用的字体(在这种情况下为Arial)无法呈现该符号,则不会在内容中插入字形。

创建一个简单的例子

PdfWriter writer = new PdfWriter("C:\\CurrencySymbol.pdf");
PdfDocument pdf = new PdfDocument(writer);
Document doc = new Document(pdf);

doc.add(new Paragraph("AB₡DEF"));

doc.flush();
doc.close();

会产生同样的问题。生成的pdf仅包含文本“ABDEF” 尝试切换字体。