MSDN示例中缺少用于GDI打印的文件

Missing file from MSDN example for GDI printing

本文关键字:GDI 打印 文件 用于 MSDN      更新时间:2023-10-16

我正在尝试学习使用GDI打印。

我已经在MSDN中搜索了资源,并找到了这个例子。

我喜欢把打印放在单独的线程中的想法,使用GDI比使用XPS API更容易学习,所以我下载了这个例子。

在尝试编译它之后(我使用Visual Studio 2008),我得到了这个错误:

fatal error C1083: Cannot open include file: 't2embapi.h': No such file or directory

根据这一点,我发现我并不是唯一一个面临这个问题的人。

尽管如此,我还是尝试过Google上面的错误,发现这表明我没有最新的SDK

我在C:Program FilesMicrosoft SDKsWindows中进行了搜索,发现了一个文件夹v6.0A,这表明我没有安装最新的SDK

然而,在这里我发现了一篇帖子,有同样问题的人没有通过下载最新的SDK来解决这个问题(尽管该帖子发布的年份是2006年,但当时文件也不见了,下载SDK也无济于事,为什么现在要做任何改变?)。

我的问题是:

  1. 有办法获得这个文件吗(如果我下载最新的SDK有错,请纠正我)?

  2. 我认为这个文件必须与字体有关。有没有办法修改这个例子,这样我就不必使用那个文件了?

感谢您能够查看此线程并提供帮助。

致以最良好的问候。

T2Embapi.h由Windows SDK提供,它包含字体嵌入服务库的声明,用于处理嵌入的OpenType字体。很明显,你使用的SDK版本太旧了,没有。不确定需要哪个版本,我知道v6.0没有,但v7.1有。

由于该项目最初是一个XPS样本,因此存在一些草率之处。构建GDI样本实际上并不需要T2Embapi。您可以简单地从stdafx.h中删除#include。此外,在项目的Release配置设置中,还可以从链接器的Additional Dependencies设置中删除T2embed.lib和XpsPrint.lib。

您的问题是:

1。有没有办法获得这个文件(如果我下载最新SDK的错误,请纠正我)

  • 最新版本的Windows SDK适用于Windows 8.1。适用于Windows 8.1的Windows软件开发工具包(SDK)。但是,我认为"t2embapi.h"已经包含了适用于Windows 7的Windows SDK,因为我在"C:\Program Files(x86)\Microsoft SDKs\Windows\v7.0A\Include"中找到了头文件

2。我认为这个文件必须与字体有关。有没有办法修改这个例子,这样我就不必使用那个文件了

  • @Hans Passant已经回答了这个问题