对于 EMF,我会考虑使用PrintDocument类和Metafile类。PrintDocument 的 OnPrintPage 事件处理程序公开一个 Graphics 对象,该对象允许您呈现 EMF 文件,如下所示:
void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
Metafile metafile = new Metafile("SampleMetafile.emf");
e.Graphics.DrawImage(metafile, 10, 10);
}
Run Code Online (Sandbox Code Playgroud)
至于纯文本,您可以将其绘制到打印文档上的 Graphics 对象,但是您需要考虑文本换行和线条,这可能不值得。我还怀疑,对于几乎所有设备,如果您将纯文本通过端口 9100 发送到打印机,它也会打印得相当好。