3

背景

  • 我在创建绘图的 Windows 上使用商业应用程序
  • 此应用程序仅允许两个输出选项:(1) 保存为位图文件和 (2) 打印到打印机
  • 位图对我的目的没有用 - 我想要矢量
  • 查看打印输出(我发送到 Windows XPS 打印驱动程序),根据我可以在不丢失细节的情况下进行的缩放量,似乎很清楚底层矢量正在发送到打印驱动程序
  • 获得向量后,我将编写一些代码将它们转换为其他用途。

我的问题

  • 从印刷品中获取矢量的选择是什么?(我对商业和开源开放)

到目前为止我想到的选项

  • 获取位图并使用 VectorMagick 之类的程序。我已经尝试过这种方法。即使原始位图很大,它也不会产生我寻求的保真度。实际上,我相信使用任何跟踪方法都不会为我提供所需的质量向量。
  • 打印到 Adob​​e PDF 驱动程序。这在技术上是有效的。我有 Adob​​e CS4,所以我可以打印到它保存生成的 PDF,然后将 PDF 导入 Illustrator,然后导出为其他一些矢量格式。这种方法的问题是金钱/许可。我拥有 Adob​​e CS4 的个人副本 - 所以这对我来说很好。但是出于商业目的,我需要在工作中捕获向量——不,我不会在工作中安装我的个人 CS4 副本。
  • 是否有将打印输出直接捕获为矢量格式的“打印驱动程序”?我通过谷歌看到了一些商业的。如果您使用过它们,我想听听您对这种技术的体验。我可以自己编写,在这种情况下,您是否有指向我可以开始使用的任何现有代码的链接。
4

3 回答 3

3

如果这是您需要的持续解决方案,那么您可能需要购买或构建自己的解决方案。如果这是一次性事件,您可能会考虑使用“较旧”的 Lexmark PCL 打印机驱动程序。我会推荐像T610这样的东西。如果您下载 PCL 驱动程序并安装它,您可以修改默认值并将图形选项从 XL 或自动选择更改为 GL/2。这将强制驱动程序输出 GL/2 输出,它是矢量(GL/2 是绘图仪语言)。这可能对你有用。其他打印机驱动程序可能具有强制 GL/2(与 Raster 相比)的能力,但我不确定。我曾经为 Lexmark 工作,并且以前曾将其用于类似的要求。

确保您使用 Lexmark 的“自定义”驱动程序,因为我认为基于 Microsoft 的驱动程序不支持此功能。

……停下来调查一些事情…………我回来了……

另一种选择是找到另一个 GL/2 驱动程序或构建您自己的驱动程序......我只花了几分钟搜索网络并提出了一些其他可能有效的选项。

自己构建: 我使用 Windows 驱动程序开发工具包 (DDK) 构建了驱动程序(微型驱动程序),构建基本驱动程序非常简单。看起来您可以设置一个设置来启用 GL/2 输出: 在 GPD 中启用 HP-GL/2 矢量图形支持 (PCL-5e)

备用驱动程序: 根据您使用的操作系统,可能内置了一个“通用”GL/2 驱动程序。我相信 XP 有一个 Hewlett-Packard HP-GL/2 绘图仪。您可能需要检查许可证(与 Lexmark 解决方案一样),但它可能对您有用,并且由于它是操作系统的一部分,因此不必担心使用它。它可能由 Microsoft 编写并拥有版权

请记住,您必须做一些工作才能将 GL/2 转换为您想要的任何输出,但转换每组命令应该是一个简单的翻译器的问题。可能有一些工具可以提供帮助。以下是 Lexmark GL/2 参考的快速链接,可能足以让您继续前进,请查看 PCL 部分下的 GL/2 信息: Lexmark 技术参考指南

Postscript: 我的最后一个选择是使用通用 Postscript 驱动程序。Postscript 应该在 Postscript 中将矢量图像输出为矢量图形,但我对此的了解充其量是有限的。

输出: 如果您需要将输出路由到文件,您可以将端口设置为 FILE:这需要用户干预,或安装Redmon之类的东西(或与我联系,我将向您发送允许自动输出到文件的端口监视器)。

希望这在某种程度上有所帮助。

于 2009-08-03T19:24:20.867 回答
2

我最喜欢的是开源 (GPL) PDFCreator

于 2009-07-23T14:56:07.127 回答
1

http://sourceforge.net/projects/emfprinter/

于 2011-02-13T16:06:19.550 回答