3

在许多 Windows 设置中,当您直接打印到打印机时,通常会在 Windows 假脱机目录“C:\Windows\System32\spool\PRINTERS”中创建两个文件。假脱机文件“80021.SPL”和影子文件“80021.SHD”是这些文件的示例。假脱机文件包含绘图指令的肉和土豆,因此打印机可以打印页面。根据语言技术和使用的打印驱动程序,此假脱机文件中的数据采用不同格式的大杂烩。但是,当您打印到打印服务器上的打印机时,会创建一个“.TMP”文件并将其传输到打印服务器。我认为可以公平地假设这只是将 .SHD 和 .SPL 文件组合成一个传输文件以将其发送到服务器。但是,它不可读,我 m n 确定它是压缩的、加密的还是什么,但我无法破译它。打印 PDF 时,您通常可以在假脱机文件 (.SPL) 中看到纯文本 PostScript 指令,只需将其打开并在文本编辑器中查看即可。您甚至可以将该假脱机文件 (.SPL) 发送到像 GhostScript 这样的 postscript 查看器,并让它显示在屏幕上绘制的页面。但是当工作全部打包在一个 .TMP 文件中时,它基本上只是一堆二进制文件。 有谁知道如何从这些传输 .TMP 假脱机文件中解压缩数据?

4

1 回答 1

0

我相信您拥有的文件将是一个 EMF 文件,该文件在开始时填充了专有的 MS 结构。确定您是否正在处理 EMF 结构的最简单方法是在您拥有的 tmp 文件中查找 ANSI 字符“EMF”。

假设您确实找到了这些字符,只需从文件开头删除专有结构数据,然后将其视为标准 EMF 文件。幸运的是,所有 EMF 文件都有标准的标题格式,因此应该合理地确定 EMF 文件的开始位置。

这里对 EMF 文件头有很好的描述

于 2012-05-18T03:03:43.330 回答