printing - 带 .tmp 扩展名的假脱机文件的文件格式?

标签 printing postscript spool spooler

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

最佳答案

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

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

EMF文件头有很好的描述here

关于printing - 带 .tmp 扩展名的假脱机文件的文件格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10606054/

相关文章:

oracle - SQLPlus 动态假脱机文件名

当使用 crontab 计划脚本时,Oracle SQLPlus 假脱机命令不起作用?

file-upload - S3 假脱机桶/匿名 PUT

pdf - 按顺序打印大量 PDF

postscript - 后记中如何包含img

graphics - 在附记中画出三角形的阴影

python - 如何在 Python GUI 应用程序中显示 PostScript 文件

python - 使用 Python、win32api 和 Acrobat Reader 9 打印 PDF

java - 在 Java 中打印数学符号给出错误的输出

html - 我可以从命令行打印 html 文件(带有图像、css)吗?