我想在Squeak中创建一个可打印的输出文件,例如创建一个报告。
我做了一点谷歌搜索,我很惊讶有关创建可打印文件的示例方式中的材料很少。但是,我发现了一些名为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文件中四舍五入(它们在屏幕上四舍五入)。
所以,我的问题是:
由于 凯文
答案 0 :(得分:2)
不只是吱吱声 - 在任何编程语言中产生可打印输出都是非常困难的。每当我完成项目规划并且人们提到报告时,我立即加倍(至少)项目估算。就个人而言,我建议以一些众所周知的格式(如XML或CSV)将数据写入文件,然后使用报告编写软件包生成实际报告。
抱歉不要更有帮助!