【发布时间】:2009-08-02 17:49:52
【问题描述】:
我想在 Squeak 中创建一个可打印的输出文件,例如创建一个报告。
我在 Google 上进行了一些搜索,但令我惊讶的是,与创建可打印文件相关的示例中几乎没有材料。但是,我发现了几个名为 PostscriptCanvas 和 EPSCanvas 的类以及其中一个名为 morphAsPostscript 的方法。
为了尝试这些类,我创建了一个小代码示例,我的第一个工作区示例是:
p := PasteUpMorph new.
p extent: 300@300.
p position: 20@20.
p borderColor: Color black.
p setProperty: #cornerStyle toValue: #rounded.
p openInWorld.
(FileStream newFileNamed: 'test1.ps') nextPutAll: (PostscriptCanvas morphAsPostscript: p)
不幸的是,上面的方法不起作用,并在 doesnotUnderstand #pageBBox 中停止。
当我再次尝试该示例但这次使用 EPSCanvas 类时:
p := PasteUpMorph new.
p extent: 300@300.
p position: 20@20.
p borderColor: Color black.
p setProperty: #cornerStyle toValue: #rounded.
p openInWorld.
(FileStream newFileNamed: 'test2.eps') nextPutAll: (EPSCanvas morphAsPostscript: p).
这次我生成了输出,但框的角在 eps 文件中没有圆角(它们在屏幕上是圆角的)。
所以,我的问题是:
- 就生成可打印输出而言,我是否走在正确的轨道上,还是应该使用替代技术?
- 为什么第一个示例会因不理解 #pageBBox 而崩溃?
- 为什么第二个示例几乎可以工作,但不能渲染圆角?
谢谢 凯文
【问题讨论】:
标签: squeak