在 C++ 预印卡上打印的最简单方法是啥?
Posted
技术标签:
【中文标题】在 C++ 预印卡上打印的最简单方法是啥?【英文标题】:What is the easiest way to print on preprinted cards from C++?在 C++ 预印卡上打印的最简单方法是什么? 【发布时间】:2012-06-26 15:43:03 【问题描述】:我需要创建一个应用程序 (C++),该应用程序将使用打印机在将给我的特殊预印卡上打印特定的东西(主要是黑色填充的小方块)。方格的位置将在应用程序中确定。
所以我想我需要测量卡片并找到要打印的正确位置的坐标。然后将它们转换为像素 (?) 。
另一种想法是扫描预印卡并以某种方式将其用作图像,在其上绘制然后打印。
也许将应用程序与 Word 或某些图像处理应用程序等工具结合起来可能是更好的选择。如果你遇到过类似的事情,我很想听听;-)
编辑:Windows 操作系统,使用 MFC,该应用程序应该适用于大多数打印机,不幸的是,使用另一种语言不是一个选项,但如果它有助于该过程,则可以组合工具。
【问题讨论】:
你必须从 C++ 做吗?我想脚本语言,或者可能是 java,在生成图像和将其提交给打印机时会有更好的库支持。 什么操作系统?什么类型的打印机? 恐怕我必须在 C++ 中完成,因为我将使用某些 C++ 库的功能。 @Ben : Windows 操作系统,它应该适用于大多数打印机。 你使用的是什么框架? MFC? ATL?它是 Windows 应用程序还是控制台应用程序? 【参考方案1】:您可以使用CPrintDialog 或CPrintDialogEx 允许用户选择打印机,这将返回一个DC 和一个DEVMODE 结构。 DEVMODE 中的字段将为您提供页面大小和 DPI(在 dmYResolution
和 dmPrintQuality
字段中),您可以使用它们将英寸转换为像素。
【讨论】:
以上是关于在 C++ 预印卡上打印的最简单方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章
使用 std::ostream 打印可变参数包的最简单方法是啥?