English 中文(简体)
使用 Winforms 将 ASCII 字符 127 写入 PDF 文件
原标题:Writing ASCII character 127 to a PDF file using Winforms

我在开发一个 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();

感激不尽的帮助!

最佳回答

ASCII 127 是 < a href=>"http://en.wikipedia.org/wiki/ASCII#ASCII_control_cront_crect_characters" rel=“不跟随 noreferr" > control字符 - 具体来说,>>Delete 。控制字符不打算打印。

我不认为广场有 ASCII 聊天器。 在我浏览器中, 问题列表中的 127 显示为空白 :

""https://i.sstatic.net/hthah.png" alt="此处输入图像描述"/"

如果您看到一个正方形, 这可能是您浏览器字体试图创建不支持字符的结果 。

如果您需要将一个方形变成一个方形, 您可以使用两个方括号 (code 91 & amp; 93) 作为近似值。

问题回答

暂无回答




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签