開発中の Winforms アプリケーションで小さな問題が発生しています。ASCII 文字をテキスト ボックスに挿入するグローバル ホットキーがいくつかあります。文字は、iTextSharp を使用して PDF ファイルに書き込まれます。これは、四角い記号 (#127) という 1 つの文字を除いて、正常に機能しています。文字は 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();
どんな助けでも大歓迎です!