我正在开发的 Winforms 应用程序有一个小问题。我有一些全局热键可以将一些 ASCII 字符插入到文本框中。然后使用 iTextSharp 将字符写入 PDF 文件。这一直工作正常,除了一个字符:方形符号(#127)。该字符在 Windows 应用程序中看起来不错,但是一旦我将它写入 PDF,它就会显示为一个要点,并且就在它应该出现在它之后的任何字符之上(而不是出现在它前面)。我不明白为什么会这样。我所有的其他 ASCII 字符都可以写入 PDF 没有问题。有什么建议么?
作为参考,这是我正在使用的字符代码表:http: //yorktown.cbe.wwu.edu/sandvig/shared/ASCIICodes.aspx
以下是将字符插入表单的代码:
if(focusedTextbox != null)
{
if (inKey == 'S')
{
focusedTextbox.Text += Convert.ToChar(127);//Square symbol
}
else if (inKey == 'P')
{
focusedTextbox.Text += Convert.ToChar(177);//Plus-minus symbol
}
//Places the cursor after the newly-inserted symbol
focusedTextbox.Select(focusedTextbox.Text.Length, 0);
}
这是使用 iTextSharp 将数据写入 PDF 的代码:
//Measurement A
cb.BeginText();
string mesA = mainForm.txtMesA.Text.Trim();
if (mesA.Equals(""))
{
text = "";
}
else
{
text = mesA + " " + mainForm.txtUnit.Text;
}
cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, text, offSetStartAt, topRow, 0);
offSetStartAt += colOffset;
cb.EndText();
//Create a PDF page and add the content
PdfImportedPage page = writer.GetImportedPage(reader, 1);
cb.AddTemplate(page, 0, 0);
//Close the streams
document.Close();
fs.Close();
writer.Close();
reader.Close();
任何帮助表示赞赏!