我正在尝试从打印的SPL(假脱机文件)中提取的EMF文件中提取unicode文本。
我找不到任何描述或准确描述如何阅读以下EMF记录的源代码。
EmfExtTextOutA
EmfExtTextOutW
EmfSmallTextOut
以下代码适用于DrawString,但我只包含EMF文件 EmfExtTextOutA,EmfExtTextOutW,EmfSmallTextOut记录。
// Copy the unmanaged record data.
byte[] data_array = null;
data_array = new byte[dataSize];
Marshal.Copy(data, data_array, 0, dataSize);
// See how many characters are in the string.
int num_chars = BitConverter.ToInt32(data_array, 8);
// Get the characters.
string txt = System.Text.Encoding.Unicode.GetString(data_array, 28, 2 * num_chars);
Debug.Print(txt);
我从这里获取了代码http://csharphelper.com/blog/2012/02/extract-text-created-by-drawstring-from-a-metafile-in-c/
感谢任何语言的任何描述或代码。
我可以提供EMF文件,但不知道如何在此处上传。