【问题标题】:Missing file from MSDN example for GDI printing用于 GDI 打印的 MSDN 示例中缺少文件
【发布时间】:2014-01-09 12:39:11
【问题描述】:

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

我搜索了MSDN 的资源并找到了this 示例。

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

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

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

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

不过,我尝试Google 上述错误并发现this 表明我没有最新的SDK

我在C:\Program Files\Microsoft SDKs\Windows 中搜索并找到了一个文件夹v6.0A,这表明我没有安装最新的SDK

但是,here 我发现了一个帖子,有同样问题的人没有通过下载最新的SDK 解决它(虽然该帖子的发布年份是 2006 年,但当时文件仍然丢失,并且下载 SDK 没有帮助 - 为什么现在要改变?)。

我的问题是:

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

  2. 我认为这个文件必须与字体有关 - 有没有办法修改示例以便我不必使用该文件?

感谢您查看此主题并尝试提供帮助。

最好的问候。

【问题讨论】:

    标签: c++ winapi sdk msdn


    【解决方案1】:

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

    由于它是作为 XPS 示例开始的,因此该项目有些草率。构建 GDI 示例实际上不需要 T2Embapi。您可以简单地从 stdafx.h 中删除#include。项目的 Release 配置设置也有些草率,从链接器的 Additional Dependencies 设置中删除 T2embed.lib 和 XpsPrint.lib。

    【讨论】:

    • 谢谢,我会尝试并报告我的结果。最好的问候。
    • 我试图删除库,但找不到它们在哪里。我查看了 project->*Properties*->*Linker*->*Advanced*。然而,程序运行,但打印到XPS 文件。难道是因为我没有打印机?请为我的打扰道歉,但您似乎已经尝试过此应用程序,所以我问。谢谢你和最好的问候。
    • 如前所述,它们位于发布配置设置中。您可能只查看调试设置。我没有看过,但假设程序将打印到默认打印机。通常是 XPS 打印机。选择另一台打印机作为默认打印机。使用 FILE 端口让它将输出写入文件而不是打印机。
    • 谢谢帕桑特先生。由于该程序有效,并且通过查看它,我发现他们在说明基础知识方面做得很少,我认为您是对的。因此,我会接受您的回答(并投票赞成),因为删除库是另一个与此问题无关的问题。最好的问候。
    • 好的,我找到了——我找错地方了。我已经删除了它们,但即使我将默认打印机更改为 One Note(我没有打印机),文件仍然发送到 XPS。这不是什么大问题,我仍然可以从示例中学习。再次感谢您并致以最诚挚的问候。
    【解决方案2】:

    你的问题是:

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

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

    2. 我认为这个文件必须对字体做一些事情——有没有办法修改这个例子,所以我不必使用那个文件?

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

    【讨论】:

    • 感谢您的回答,我会尝试下载7.1版本并报告我的结果。最好的问候。
    • 我只能接受一个答案,Mr.Passant 更快。感谢您的帮助,我已赞成您的回答。最好的问候。
    • 别担心。我也知道 Mr.Passant 的回答更快,而且非常有用。感谢您的评论和好意! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多