2009-11-11 42 views
2

我需要为应用程序添加打印功能,并且我一直在寻找有关打印的信息。逻辑/物理尺寸,dpi,字体缩放等,很多消化,因为我从来没有编程打印到任何应用程序之前。Delphi打印底漆

是否有任何网站会提供关于页面大小,页边空白以及理解在Windows上打印所需的所有其他元素的入门知识?我一直在寻找一段时间,但我发现无论是神秘或岁...

我一直在玩TPrinter,但我想建立坚实的打印功能,并了解我是什么做得更好。

使用报告解决方案不是一种选择,尽管我确信它可以更快提供更好的结果。

+0

那么这是多少岁?它不一定是坏的。我认为,自从多年以来,印刷和印刷业的世界并没有发生重大变化。您可以像在画布上绘制一样在画布上进行打印。你想完成什么? – Wodzu 2009-11-11 14:00:44

+0

@Wodzu:在任何其他打印机画布上打印都是懒惰的方式。为了不必处理不同的打印机分辨率,设置映射模式(如'MM_LOMETRIC'或'MM_HIMETRIC')的IMHO要好得多。不幸的是,在VCL中没有这种支持,所以直接调用Windows API是必要的。 – mghie 2009-11-11 14:44:48

+0

@mghie,但他仍然在绘画,就像他将在任何其他画布上绘画一样,区别在于metrcis已经改变。我的意思是实际执行绘图的方法。 – Wodzu 2009-11-11 16:36:41

回答

5
+0

我设法找到我需要的所有信息,感谢您发布这些链接。 我花时间注意到我无法在原始问题中使用报告解决方案。这是由于软件限制,预算限制,要求和几个报告解决方案的评估所致...... 重新创建轮子可能需要时间离开项目核心。但是,如果做得对,那个车轮将完美适合它应该适合的地方...... – 2009-11-14 18:11:52

0

德尔福的版本使用是很重要的you're。许多Delphis都带有像ReportSmith(呃)这样的打印引擎。横向思考的另一种选择是使用MS Word作为打印引擎。在&利用了他们的功能之前,我已经迷上了Word & Excel的实例。至于使用TPrinter的原始打印或TForm的打印方法,你必须非常绝望。我似乎回想起Pacheo/Texeira Delphi书籍中的相当不错的概述,因此您可能想查看是否可以在某处找到该副本。

+3

你不能指望每个人都安装MS字,所以这不是一个真正的解决方案。 – jpfollenius 2009-11-11 12:25:03

+1

如果您正在编写shrinkwrap软件,那么您是正确的,但是如果您正在为受控环境编写Word,那么Word就是SOE的一部分,您可以依赖Word。如果没有,你可以依靠在RTF写和做所有事情 - 在那里,做到了,得到了T恤,不想再做一次。在我们确定地回答之前,我们需要更多信息。 – mcottle 2009-11-12 02:24:32

+0

@mcottle我知道这很粗鲁,但我想知道我是否可以联系到你关于在SE堆栈交换中解析Delphi的帖子。 – 2016-10-28 11:52:48

1

我认为你看起来太低级了。

尝试查看构建报告工具(Rave或您的产品中的任何内容)。 就我个人而言,我使用的是数字隐喻产品,名为Report Builder。

但是,如果你想要做的东西低级OG很多好的信息可以在efg's computer lab - printing

1

很好地发现,我做的事情了各种过去的方式,包括“硬办法”与TPrinter。事实上,我最近不得不再次运行特殊库存标签打印机。

另一方面,有时候你最好是别人已经完成的工作,并使用它为你的利益。我同意ReportSmith不太好,也是Delphi(和Windows)特定的。使用Excel或Word有这些限制,加上用户必须实际安装它们的事实。

为了使一些简单的应用程序易于打印,我做了一件事就是生成一个HTML文件并调用用户的Web浏览器,然后他们可以打印它。对于数字数据,可以相对容易地创建HTML表格,并且还可以包含照片等。这适用于某些应用程序,适用于安装了Web浏览器的每个平台。不利的一面是,HTML并不是最精确的布局语言。

+0

+1输出到html。然后我习惯使用pbear的htmlview来打印它(而不是发送给浏览器),但是最后一次看到的htmlview并没有被更新为使用unicode,因此没有正确打印。 – 2011-05-06 10:50:51