我在开发一个 Winforms 应用程序。 我有一些全球热键, 将一些 ASCII 字符插入到文本框中。 这些字符随后用 iTextSharp 写入 PDF 文件 。 除了一个字符以外, 这一直很有效 : 平方符号 (# 127) 。 该字符在窗口应用程序中看起来不错, 但一旦写到 PDF, 它就会作为一个子弹点出现, 并且紧随其后的任何字符( 而不是出现在它前面 ) 。 我无法理解为什么会发生这种情况。 我的其他 ASCII 字符都会被写到 PDF 中, 没有问题。 任何建议吗?
这是用于参考的字符代码表 : < a href="http://yorktown.cbe.wwwu.edu/sandvig/ shared/ ASCIICodes.aspx" rel=“nofollow” >http://yorktown.cbe.wwwwu.edu/sandvig/ shared/ ASCIOCodes.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();
感激不尽的帮助!