如何从EMF文件格式中提取Unicode文本

时间:2015-11-16 08:51:46

标签: c# c++ text unicode file-conversion

我正在尝试从打印的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文件,但不知道如何在此处上传。

0 个答案:

没有答案